我有一個網站,我從哪裏發送郵件給我的辦公室的成員希望Windows登錄Web服務中的用戶名C#asp.net
此郵件有一個yes no按鈕。
上是的點擊/否按鈕我調用Web服務,我是沒有鏈接看起來有點像這個
<a href="http://xxxxx/xxxxx/votCatWSer.asmx/takevotingOpt?yesNo=yes&sNo=1">yes</a>
現在,用戶即我的辦公室的工作人員會登錄他們的系統中打開他們的視野發現此郵件,然後點擊它。
點擊後,我的web服務中的takevotingOpt方法會被調用。在這個方法中,我想知道,這個調用來自哪個用戶。 這樣我可以保持像某某用戶數據庫記錄投票是/否
說的如他們都在我的組織一兩個成員和B
A的窗口登錄ID爲 「AaLoginId」 和
B的窗口登錄ID爲 「BbLoginId」
A和B接收郵件中有上面提到的鏈接。當A單擊是/否鏈接我的網站的方法應該給我的登錄ID即「AaLoginId」。我得到這個之後,我在A數據庫中輸入了一個條目,因爲A投了贊成票。
我曾嘗試下面的事情在我的網絡服務來獲取用戶名,但沒有用,請幫助。
試過這個東西來獲取windows登錄用戶名。
//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();
我去我INETMGR,以驗證和啓用Windows身份驗證我的託管網絡服務,現在它做什麼,我想(用戶名= User.Identity.Name;),但它會打開一個瀏覽器窗口,並要求Windows用戶ID和密碼我不希望它應該拿起沒有登錄窗口。
請幫助或建議任何其他方法來實現這一點。
我去我INETMGR,以驗證和啓用Windows身份驗證我的託管網絡服務現在它做我想要的,但它打開一個瀏覽器窗口,並要求Windows用戶名和密碼我不希望它應該拿起沒有登錄窗口。 –
由於您有通過用戶標識符發送郵件的代碼(對嗎?)將用戶標識嵌入到他們單擊的URL中。 ?yesno = yes&userid = AaLoginid – dkackman
@dkackman感謝您的關注,但..如果我這樣做,用戶A將郵件轉發給用戶C,那麼我不會得到正確的記錄。 –