如何使用默认域在 Web.config 中启用基本身份验证和匿名身份验证?
Posted
技术标签:
【中文标题】如何使用默认域在 Web.config 中启用基本身份验证和匿名身份验证?【英文标题】:How to enable both Basic & Anonymous Authentication in Web.config with default domain? 【发布时间】:2021-08-02 03:31:54 【问题描述】:我有一个在 .Net 中使用框架版本 4.6.1 开发的 Web API 应用程序,我正在尝试使用具有默认域的 web.config 文件启用基本和匿名身份验证,但它无法正常工作,任何人都可以帮助我启用使用web.config。
我尝试了以下代码,但它不起作用
<system.webServer>
<security>
<basicAuthenticaion enabled="true" defaultLogonDomain="DomainName"/>
<anonymousAuthenticaion enabled="true"/>
</security>
</system.webServer>
【问题讨论】:
您明白 IIS 的基本身份验证与一般情况下的 HTTP 基本身份验证不同吗? IIS 基本身份验证仅与使用 Windows 安全性有关(无论如何您都不应该使用它):如果您想在 ASP.NET 中使用基本身份验证,则无需在 IIS 中启用基本身份验证。自己的身份验证系统。 yes Dai,对 Windows 服务帐户启用了基本身份验证,现在有人需要在 IIS 中手动启用此功能,我想避免此手动过程。目前,当我手动操作时,它工作正常。 如果启用匿名身份验证,则所有其他身份验证方法都将关闭。你应该问自己为什么要两者兼得,因为根据定义这是不可能的。 【参考方案1】:你应该添加一个<authentication>
的标签,还要注意basicAuthentication
和anonymousAuthentication
的拼写(你用basicAuthenticaion
和anonymousAuthenticaion
拼写)。
<system.webServer>
<security>
<authentication>
<basicAuthentication enabled="true"/>
<anonymousAuthentication enabled="true"/>
</authentication>
</security>
</system.webServer>
顺便说一句,如果您启用了 Lex Li 在 cmets 中提到的匿名身份验证,其他身份验证方法可能会关闭。所以请检查您的要求是否需要同时启用它们。
【讨论】:
感谢您的回复,能否请您告诉我如何为 basicAthenticaion 添加默认域,换句话说,如果我们编辑基本身份验证,则可以选择编辑默认域,我需要指定我当前的圆顶,我们如何在 web.config 文件中添加 @Gopinath2105 只需添加您在问题中提到的defaultLogonDomain
属性。以上是关于如何使用默认域在 Web.config 中启用基本身份验证和匿名身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
网页的功能是啥:在 MVC 3 web.config 中启用
使用 web.config 允许服务器端包含在 HTML 文件 (IIS) 中
如何防止 IIS 默认站点 web.config 文件被虚拟目录继承?