我有一个网站,它托管在我网络服务器上的IIS上。该网站使用以我的用户名运行的应用程序池。我的用户名在服务器的管理员组中。
禁用匿名身份验证时启用Windows身份验证。此外,还启用了ASP.NET模拟。
我通过添加以下行在web,config中启用了模拟:
user_profile, created = UserProfile.objects.get_or_create(user=profile.user)
我还通过添加以下行在web.config中启用了Windows身份验证:
<identity impersonate="true" />
该页面包含用于在Page_Load:
中打开与数据库的连接的代码<authentication mode="Windows" />
当我在服务器上的浏览器中打开页面时,页面工作正常。当我使用相同的URL并从我的机器打开它时,我收到以下错误。请注意,其他不使用模拟的网站在我将它们托管在同一台服务器上并从我的机器上访问时,通常会正常工作。
我得到的错误是:
用户&#39; NT AUTHORITY \ ANONYMOUS LOGON&#39; 登录失败
提前感谢您的帮助
答案 0 :(得分:0)
这可能是两件事:
只是为了清楚起见:如果您的ADDC不是公开可用的(他们最好不要),那么您将无法通过Kerberos进行身份验证。
NTLM可能会放松这个问题,但它通常会遇到不同浏览器的问题 - 也就是:不使用NTLM - 从IIS中删除该提供程序 - NTLM已经死了。