在.NET 4 MVC 2中启用Windows身份验证

时间:2010-07-07 10:02:02

标签: asp.net asp.net-mvc-2 iis-6 .net-4.0 windows-authentication

我有一个Intranet站点读取Windows用户名并在网站中使用它进行身份验证。

我的代码在本地工作,但在Windows Server 2003上使用IIS 6托管并且选中了匿名访问时,我的代码不会读取登录名。如果我取消检查匿名访问权限,那么在Firefox中我会不断弹出用户名和密码,这些内容永远不会结束。在IIS 6中,它设置为框架4并具有自己的应用程序池。

User.Identity.Name -returns在服务器上空白但在本地工作正常

web.config中:       <authentication mode="Windows"/> <identity impersonate="true"/>

我有一个较旧的3.5 webforms网站,可以在同一台服务器上正常工作..

1 个答案:

答案 0 :(得分:3)

查看分配用于运行应用程序池的Windows帐户。它是否对您的.Net应用程序有授权?

要使用Windows身份验证,您需要取消选中匿名访问权。

删除impersonate属性,或将其设置为false(默认值)。

您可以将应用池设置为使用网络服务帐户,然后将网络服务帐户的读/写授权授予您的MVC文件夹。