我有一个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网站,可以在同一台服务器上正常工作..
答案 0 :(得分:3)
查看分配用于运行应用程序池的Windows帐户。它是否对您的.Net应用程序有授权?
要使用Windows身份验证,您需要取消选中匿名访问权。
删除impersonate属性,或将其设置为false(默认值)。
您可以将应用池设置为使用网络服务帐户,然后将网络服务帐户的读/写授权授予您的MVC文件夹。