2013-04-02 176 views
1

我有關於使用IIS 7進行身份驗證的問題。我希望我的應用程序顯示Windows用戶名。可能嗎?如果這是我怎麼做到的?IIS 7 - 身份驗證

<identity impersonate="false"/> 
<authorization> 
<deny users="?"/> 
</authorization> 
<authentication mode="Windows"/> 

要顯示我使用的用戶名:

Label1.Text = (Environment.UserName); 
Label2.Text = (Page.User.Identity.Name); 
Label3.Text =(Request.LogonUserIdentity.Name.Substring(Request.LogonUserIdentity.Name.LastIndexOf(@"\") + 1)); 
Label4.Text = (System.Security.Principal.WindowsIdentity.GetCurrent().Name); 
Label5.Text = (System.Web.HttpContext.Current.User.Identity.Name); 
Label6.Text = Request.ServerVariables["LOGON_USER"]; 

的無上述會工作......

我的IIS設置:啓用 Asp.net模擬,啓用了Windows身份驗證.. 。

任何人都看到了問題?

非常感謝和問候!

編輯:我忘了補充說我不希望用戶提示輸入任何憑據。我想要自動顯示用戶名。

+0

http://stackoverflow.com/questions/1267071/how-to-get-windows-user-name-when-identity-impersonate-true-in-asp-net試試這個 – Niventh

+0

如果你設置呢? –

+0

將無濟於事......感謝回覆 – user2090983

回答

0

爲此,瀏覽器和服務器必須正確配置。請注意,Windows身份驗證不是一種標準的HTTP身份驗證方法,它對於IE和IIS是特定的(Firefox也可以通過額外設置來支持它),因此您必須確保您的IE瀏覽器配置爲將域用戶憑據發送到IIS服務器。 你的服務器配置似乎沒問題,謠傳是真的。 檢查您的IE瀏覽器並確保您在IE中輸入的http地址不是互聯網域的一部分,它必須是Intranet域的一部分,僅在Intranet域中,IE和IIS可以支持集成Windows身份驗證

+0

它不必在域中,它也可以從FF和Chrome工作 –