有哪些优点和缺点?当
匿名验证-启用windows身份验证-启用
是否可以同时启用这两个值?
wtlkbnrh1#
在某些情况下,将它们都设置为启用是必要的。我猜您希望网站的一部分可以通过匿名身份验证访问,而其他部分应该通过Windows身份验证访问。一种情况是你可以在IIS子文件夹级别更改配置,只启用windows身份验证。然后访问此文件夹中的任何资源都需要windows身份验证。请注意,每个子文件夹都可以有其文件夹级别的web.config。此外,你需要先解锁applicationhost.conig覆盖:
<sectionGroup name="authentication"> <section name="anonymousAuthentication" overrideModeDefault="Allow" /> <section name="basicAuthentication" overrideModeDefault="Allow" /> <section name="clientCertificateMappingAuthentication" overrideModeDefault="Allow" /> <section name="digestAuthentication" overrideModeDefault="Allow" /> <section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Allow" /> <section name="windowsAuthentication" overrideModeDefault="Allow" /> </sectionGroup>
另一种情况是WebApplication路由,首先需要nuget包:第一个月然后在program.cs中添加身份验证服务:builder.Services.AddAuthentication(NegotiateDefaults.AuthenticationScheme) .AddNegotiate();对于您想要Windows身份验证的任何控制器路由,请在顶部添加属性[Authorize],例如:
builder.Services.AddAuthentication(NegotiateDefaults.AuthenticationScheme) .AddNegotiate();
[Authorize] public IActionResult Privacy() { return View(); }
然后当你访问隐私之路时,它需要windows身份验证。但是其他页面不需要。在这种情况下,你需要同时启用匿名身份验证和windows身份验证。
1条答案
按热度按时间wtlkbnrh1#
在某些情况下,将它们都设置为启用是必要的。我猜您希望网站的一部分可以通过匿名身份验证访问,而其他部分应该通过Windows身份验证访问。
一种情况是你可以在IIS子文件夹级别更改配置,只启用windows身份验证。然后访问此文件夹中的任何资源都需要windows身份验证。请注意,每个子文件夹都可以有其文件夹级别的web.config。此外,你需要先解锁applicationhost.conig覆盖:
另一种情况是WebApplication路由,首先需要nuget包:第一个月
然后在program.cs中添加身份验证服务:
builder.Services.AddAuthentication(NegotiateDefaults.AuthenticationScheme) .AddNegotiate();
对于您想要Windows身份验证的任何控制器路由,请在顶部添加属性[Authorize],例如:
然后当你访问隐私之路时,它需要windows身份验证。但是其他页面不需要。在这种情况下,你需要同时启用匿名身份验证和windows身份验证。