4

我試圖在我的web應用程序中設置Windows身份驗證,但我無法使其工作。該應用程序在我的電腦(Windows 7 x64)中運行,我在一個域網絡中,該應用程序運行在真正的IIS上,而不是Cassini Web服務器上。MVC 3中的Windows身份驗證3

我迄今所做的:

  1. 在IIS中啓用基本身份驗證。 (我也試圖讓Windows身份驗證)
  2. 的Web.config <authentication mode="Windows"></authentication>
  3. 我已經有和沒有<identity impersonate="true"/>
  4. 我已經把我的控制器內的AuthorizeAttribute嘗試。
  5. 我也嘗試了用於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用戶名。我應該怎麼做?

+1

沿着你關掉 「匿名」 和IIS 「表單」 認證? –

+0

您需要使用ASP.NET模擬。 –

+1

您可以創建一個新的測試項目 - >選擇mvc 3 web應用程序 - >選擇**內聯網**應用程序,看看是否有效? – Eonasdan

回答

2

它重新啓動計算機後工作。不知道什麼是錯的。

+2

愛你的誠實先生。 – jolySoft

1

我遇到了同樣的問題,在我的根web.config中添加了以下標記後,問題得到解決。

<add key="enableSimpleMembership" value="false"/> 

與此

<add key="autoFormsAuthentication" value="false"/>