我試圖在我的web應用程序中設置Windows身份驗證,但我無法使其工作。該應用程序在我的電腦(Windows 7 x64)中運行,我在一個域網絡中,該應用程序運行在真正的IIS上,而不是Cassini Web服務器上。MVC 3中的Windows身份驗證3
我迄今所做的:
- 在IIS中啓用基本身份驗證。 (我也試圖讓Windows身份驗證)
- 的Web.config
<authentication mode="Windows"></authentication>
- 我已經有和沒有
<identity impersonate="true"/>
- 我已經把我的控制器內的
AuthorizeAttribute
嘗試。 - 我也嘗試了用於MVC3 Beta的
<add key="autoFormsAuthentication" value="false"/>
修復程序。
什麼我:
,我可以打開一個沒有AuthorizeAttribute
的頁面,我把一個斷點,這是我與認證相關的不同屬性得到:
System.Security.Principal.WindowsIdentity.GetCurrent().Name
"IIS APPPOOL\\ASP.NET v4.0 DefaultAppPool"
Environment.UserDomainName
"IIS APPPOOL"
Environment.UserName
"ASP.NET v4.0 DefaultAppPool"
User.Identity.Name
""
當然我無法使用[Authorize]
屬性打開任何頁面。
我唯一想要的是獲取正在訪問Web應用程序的用戶的Windows用戶名。我應該怎麼做?
沿着你關掉 「匿名」 和IIS 「表單」 認證? –
您需要使用ASP.NET模擬。 –
您可以創建一個新的測試項目 - >選擇mvc 3 web應用程序 - >選擇**內聯網**應用程序,看看是否有效? – Eonasdan