将UrlPrefix改为127.0.0.1后Windows身份验证失效,求原因
原因及解决方案
这是因为NTLM身份验证依赖浏览器的本地Intranet区域信任策略:
- 浏览器默认把
localhost归为本地Intranet区域,会自动使用当前Windows登录凭据发起NTLM协商,不需要手动输入账号密码。 - 而
127.0.0.1默认不在本地Intranet区域内,浏览器将其视为互联网区域,不会自动提交凭据,因此弹出登录框要求手动输入。
解决步骤
- 将127.0.0.1添加到浏览器本地Intranet区域
- 打开浏览器的「Internet选项」→「安全」→「本地Intranet」→「站点」→「高级」。
- 在「将该网站添加到区域」中输入
http://127.0.0.1,点击「添加」,确认后重启浏览器。
- 确认配置有效性
你的HTTPSYS配置(Authentication.Schemes = AuthenticationSchemes.NTLM、AllowAnonymous = false)以及URL预留权限都是正确的,无需调整。
完成上述操作后,访问http://127.0.0.1:80时浏览器会自动使用当前Windows凭据完成NTLM身份验证,不再弹出登录框。
内容的提问来源于stack exchange,提问作者Okta
相关产品推荐
相关产品推荐

