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"/>