【发布时间】:2021-09-24 19:34:01
【问题描述】:
我正在尝试设置一个 .net 框架站点以使用 Windows 身份验证,但无法让登录提示消失。罪魁祸首似乎是在 IIS 中禁用匿名身份验证将以下项目添加到我的 web.config 中,从而在 VS 中启用匿名身份验证设置并将其锁定。
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
我已经从配置中手动添加和删除了该行,并且每次添加该行时,它都有相同的行为; VS 中的匿名身份验证已启用并锁定。
在任何其他使用 Windows 身份验证的站点上,我都没有发生这种行为。我今天早上创建了项目,所以不存在 .net 版本更改问题。
如果重要的话,我的项目是在 .NET Framework 4.7.1 上设置的,并且我已将 IIS 指向项目文件夹而不是发布目录。
我已经分别完成了以下每一项
- 已验证 NTLM 是 IIS 中的第一个提供程序
- 将
<allow users="*" />和<deny users="?" />添加到我的网络配置中 - 将
<windowsAuthentication enabled="true" />添加到我的网络配置中
【问题讨论】:
-
vs中的每个项目都有一个applicationhost.config,可能会影响匿名认证和windows认证。请检查一下。它位于 DRIVE:\MYPROJECT\.vs\config\applicationhost.config
-
下面是 applicationhost.config 与身份验证相关的内容。我将匿名更新为 true,将 windows 更新为 false,并将 NTLM 向上移动以使该文件符合 IIS 设置和我需要的内容,但它对行为没有影响......我将尝试从刮。
标签: .net authentication iis