在 IIS 中禁用匿名身份验证在 VS 中启用并锁定它
Disabling Anonymous Authentication in IIS Enables & Locks it in VS
我正在尝试设置 .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" />
添加到我的网络配置
TLDR:在此处回答:ASP.NET Calling WebMethod with jQuery AJAX "401 (Unauthorized)"
我仍然不清楚为什么将匿名身份验证设置为已启用并且我无法在 VS 中更改它,但我已经解决了提示问题。事实证明,提示仅在 js 尝试调用我设置的 web 方法时出现。
link 更详细,但需要对 RouteConfig.RegisterRoutes...
进行以下更改
//settings.AutoRedirectMode = RedirectMode.Permanent;
settings.AutoRedirectMode = RedirectMode.Off;
我正在尝试设置 .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" />
添加到我的网络配置
TLDR:在此处回答:ASP.NET Calling WebMethod with jQuery AJAX "401 (Unauthorized)"
我仍然不清楚为什么将匿名身份验证设置为已启用并且我无法在 VS 中更改它,但我已经解决了提示问题。事实证明,提示仅在 js 尝试调用我设置的 web 方法时出现。
link 更详细,但需要对 RouteConfig.RegisterRoutes...
进行以下更改 //settings.AutoRedirectMode = RedirectMode.Permanent;
settings.AutoRedirectMode = RedirectMode.Off;