我试图在我的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