我有一个使用Active Directory授权的Web项目(所有控制器都标有AuthorizeAttribute
)。在web.config中,我有以下身份验证部分:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
问题是: 当我在Visual Studio开发服务器下运行项目时一切顺利,弹出授权窗口,输入登录/密码后我可以看到所有网站内容。
但是,当我尝试在IIS(7.5)下运行它时,授权窗口仍会弹出,但登录/密码始终不正确(看起来它无法访问AD)。 站点配置为使用Windows授权。应用程序池使用我的Windows登录名/密码运行。我错过了什么?
答案 0 :(得分:1)
如果主机头文件指向127.0.0.1,则可能是身份验证环回检查。
如果是这种情况,答案已在why does windows authentication / impersonation fail on asp.net application with iis 7.5 / windows 7 /详细说明。简而言之,打开regedit,并将DWORD DisableLoopbackCheck = 1添加到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa。
答案 1 :(得分:1)
我遇到了同样的问题,以下解决了我的问题:
如果它适合您,请告诉我。