You need to enable JavaScript to run this app. 如何在Web.config中为.NET Web API启用带默认域的Basic和匿名身份验证
优惠活动
大模型
产品
解决方案
定价
更多

如何在Web.config中为.NET Web API启用带默认域的Basic和匿名身份验证

正确配置方案

核心错误排查

你当前的配置存在两个明显问题:

  • 拼写错误:basicAuthenticaion、anonymousAuthenticaion拼写错误,正确拼写为basicAuthentication、anonymousAuthentication
  • 节点结构错误:身份验证配置需要放在<authentication>父节点下,不能直接嵌套在<security>节点内

前置依赖检查

首先确保运行环境已安装对应IIS功能:

  • Windows服务器:打开服务器管理器 > 角色和功能安装向导 > Web服务器(IIS) > 安全性 > 勾选「基本身份验证」、「匿名身份验证」完成安装
  • 本地Windows系统:打开控制面板 > 程序和功能 > 启用或关闭Windows功能 > Internet Information Services > 万维网服务 > 安全性 > 勾选「基本身份验证」、「匿名身份验证」完成安装

修正后Web.config配置

<configuration>
  <!-- 原有配置保留,新增/修改以下节点 -->
  <system.web>
    <authentication mode="None" />
    <authorization>
      <allow users="?" />
    </authorization>
  </system.web>
  <system.webServer>
    <security>
      <authentication>
        <basicAuthentication enabled="true" defaultLogonDomain="替换为你的实际域名" />
        <anonymousAuthentication enabled="true" />
      </authentication>
    </security>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="FormsAuthentication" />
    </modules>
  </system.webServer>
</configuration>

生效验证注意事项

  • 若需要部分接口走Basic认证、部分允许匿名访问,只需在需要认证的控制器/Action上添加[Authorize]特性即可,未添加特性的接口默认走匿名逻辑
  • 本地IIS Express调试时,需右键项目 > 属性 > Web > 服务器设置中,手动勾选「匿名身份验证」和「基本身份验证」
  • 部署到IIS后若仍不生效,可打开IIS管理器 > 对应站点 > 身份验证功能页,查看两个认证项是否显示已启用,如显示锁定状态,需修改IIS全局applicationHost.config配置解除对应项的锁定限制

内容的提问来源于stack exchange,提问作者Gopinath2105

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 07:48:03