ASP.NET Windows身份验证适用于URL中的IP地址,但不适用于dns

时间:2011-07-20 00:44:10

标签: asp.net windows-authentication

我已经使用

建立了一个ASP.NET内部网站点

从另一台电脑: 如果我通过IP访问它,例如http://11.11.11.1:88/Default.aspx

,它的工作完全正常

不幸的是,当我转到http://MyWebsite.mycompany.com:88/Default.aspx时,我会弹出一个登录框。

如果我输入用户名/通过它只是拒绝它,我无法访问

从服务器: IP和DNS别名都有效。所以在服务器本身没有问题

禁用匿名用户访问

有什么想法吗?

有关我可以提供哪些进一步信息以帮助解决此问题的任何建议?

其他

  • 仅通过IE访问(6及以上)
  • 我使用IIS 6.0
  • 域\用户名格式的用户名
  • 配置设置为<deny users="?">
  • AppPool身份为Domain \ zWhatever(用于Windows身份验证到sql db)
  • AppPool identy用户位于IIS_WPG组中,另外还有admin on server

2 个答案:

答案 0 :(得分:6)

哦,明天。明白了!

我将我的网站的AuthenticationProvider从“Negotiate,NTLM”更改为“NTLM,Negotiate”

遵循以下说明: http://support.microsoft.com/kb/215383

稍微改变他们设定提供者的指示

矿:

cscript adsutil.vbs set w3svc/WebSite/root/NTAuthenticationProviders "**NTLM, Negotiate**"

您可以通过单击IIS左侧的“网站”文件夹获取网站ID。这应该列出您的所有网站ID

答案 1 :(得分:2)

在Internet Explorer选项中,将MyWebsite.mycompany.com添加到可信站点列表中。

在Internet Explorer中:

  • 选择“工具”
  • 选择“互联网选项”
  • 点击“安全”标签
  • 点击“信任网站”图标
  • 点击“网站”按钮
  • 进入网站域名
    • 例如,http://MyWebsite.mycompany.com:88(如果可能,请使用 https
    • 如果网站没有SSL,取消选中“需要服务器验证(https :)”
  • 点击添加按钮(不要忘记此部分)

对于Firefox,configure NTLM authentication也很简单。

对于Chrome NTLM,请参阅this thread