내 사무실 구성원에게 메일을 보내는 웹 사이트가 있습니다.웹 서비스에서 Windows 로그인 사용자 이름을 입력하십시오.
이 메일에는 예 버튼이 있습니다. 네의 클릭에
는/I는 웹 서비스를 호출 아무 버튼도, 내 예 아니오 링크처럼 다소 보지 않는다이
이제 사용자가 자신의 시스템이 자신의 전망이 메일을 찾은 다음 열 로그인합니다 내 사무실 직원을 즉<a href="http://xxxxx/xxxxx/votCatWSer.asmx/takevotingOpt?yesNo=yes&sNo=1">yes</a>
클릭하세요.
클릭하면 웹 서비스에서 takevotingOpt 메서드가 호출됩니다. 이 메서드에서 나는이 호출이 어느 사용자로부터 왔는지 알고 싶습니다. xyz처럼 데이터베이스에 레코드를 유지할 수 있도록 사용자가 예/아니오로 투표했습니다.
두 내 조직 A의 멤버와 B는 있습니다
A의 창은 loginid는 및
가 B의 창은 loginid는 " BbLoginId"입니다모두 A와 B가받는
"이이 AaLoginId"입니다 위에서 언급 한 링크가있는 메일. 예/아니오 링크를 클릭하면 웹 메소드에서 A의 로그인 ID 즉, "AaLoginId"을 제공해야합니다. 내가 이것을 얻은 후에 A가 예로 투표 한 것처럼 데이터베이스에 항목을 만듭니다.
내 웹 서비스에서 사용자 이름을 얻으려는 시도를했지만 사용하지 마십시오.
Windows 로그인 사용자 명을 얻으려고이 항목을 시도했습니다. 하지만이 브라우저 창을 열고 윈도우 사용자 ID를 요청,
//string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
//Uri uri = new Uri("http://tempuri.org/");
//ICredentials credentials = CredentialCache.DefaultCredentials;
//NetworkCredential credential = credentials.GetCredential(uri, "Ntlm");
////userName = credential.UserName;
//userName = User.Identity.Name;
//userName= System.Threading.Thread.CurrentPrincipal.Identity.Name;
//userName = Context.Request.ServerVariables["LOGON_USER"].ToString();
//userName = HttpContext.Current.User.Identity.Name.ToString();
나는 지금 내가 (사용자 이름 = User.Identity.Name를) 원하는 것을 내 inetmgr을 시스템에서 인증 갔다 내 호스팅 웹 서비스에 대한 Windows 인증을 사용 가능 그리고 비밀 번호 내가 원하지 않아 그것은 로그인 창없이 데리러한다.
이 문제를 해결하기위한 다른 방법을 제안하거나 제안하십시오.
을 얻기 위해 요청 개체를 볼 수 있어야의 웹 서비스에 대한 및 IIS에서 Windows 인증을 설정해야 내 호스팅 웹을위한 Windows 인증을 사용 가능 서비스는 지금 내가 원하는 것을 수행하지만 브라우저 창을 열어 Windows 사용자 ID와 암호를 묻습니다. 원하지 않는 것은 로그인 창없이 선택해야합니다. –
userid (오른쪽?)로 메일을 보내는 코드가 있으므로 사용자가 클릭 한 URL에 사용자 ID를 포함 시키십시오. ? yesno = yes & userid = AaLoginid – dkackman
@dkackman 관심을 가져 주셔서 감사합니다.하지만 .. 그렇게하면 사용자 A가 메일을 사용자 C에게 전달하면 올바른 기록을 얻지 못할 것입니다. –