【问题标题】:ASP.NET Windows Authentication works with IP address in URL, but not dnsASP.NET Windows 身份验证适用于 URL 中的 IP 地址,但不适用于 dns
【发布时间】:2011-07-20 00:44:09
【问题描述】:

我已经用

建立了一个 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 auth 到 sql db)
  • AppPool 身份用户在 IIS_WPG 组中,并且是服务器上的管理员

【问题讨论】:

  • 您是否尝试过 COMPUTERNAME\USERNAME 格式,而不仅仅是用户名(其中计算机名是您可以连接的 Intranet 中的计算机,而不是您尝试连接的计算机)?
  • 可以 poyrazoğlu,我使用域\用户名
  • 您使用什么身份验证类型?标题说赢,但描述是表格。什么是正确的?
  • Windows 身份验证。它在哪里说我使用表格?我会删除它

标签: asp.net windows-authentication


【解决方案1】:

哦,好吧。明白了!

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

按照以下说明: http://support.microsoft.com/kb/215383

当然,他们对设置提供者的指示略有改变

我的:

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

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

【讨论】:

  • 这很奇怪。开箱即用的 IIS 6 应该与 ASP.NET Windows 身份验证一起使用。您之前是否更改过此设置?
  • 以前从未接触过它。我假设这只是一些奇怪的组合,在 99.9% 的情况下都不会导致问题,但偶尔会出现障碍
  • 只是想确认这对我来说也是 IIS 7.5 的解决方案。谢谢!
【解决方案2】:

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

在 Internet Explorer 中:

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

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

对于 Chrome NTLM,请参阅this thread

【讨论】:

  • 不幸的是没有工作。请注意,在 Security/LocalIntranet 中,存在 *.mycompany.com。所以我的网站应该自动成为本地 Intranet 网站
猜你喜欢
  • 1970-01-01
  • 2010-11-05
  • 2013-07-30
  • 2016-11-11
  • 2014-08-16
  • 2017-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多