You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Web.config中AD安全组Authorization配置失效及roles标签报错咨询

ASP.NET Web.config AD安全组授权问题解决

核心结论

ASP.NET完全支持对AD安全组进行授权,但不能通过users属性指定AD组,必须使用roles属性,这是你第一个配置失效的原因。

关于roles配置报错的解决

你改用roles属性后出现的「未找到serviceUri配置设置」错误,和授权规则本身无关,是你的AD身份验证/角色管理配置中缺少了AD服务器的LDAP地址配置。需要补充如下配置:

  1. 确保在Web.config中配置AD角色提供程序并指定LDAP服务地址:
<system.web>
  <!-- 身份验证模式设置为Windows -->
  <authentication mode="Windows" />
  
  <!-- 启用角色管理并配置AD角色提供程序 -->
  <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
    <providers>
      <clear />
      <add 
        name="AspNetWindowsTokenRoleProvider" 
        type="System.Web.Security.WindowsTokenRoleProvider" 
        serviceUri="LDAP://你的AD服务器地址/DC=domain,DC=com" 
      />
    </providers>
  </roleManager>
  
  <!-- 正确的AD组授权规则 -->
  <authorization>
    <allow roles="Domain\sg-name" />
    <deny users="*" />
  </authorization>
</system.web>
  1. 关键注意点:
  • 替换serviceUri的值为你的实际AD服务器LDAP路径,格式通常为LDAP://dc.yourdomain.com/DC=yourdomain,DC=com
  • 确保应用程序池的运行账户拥有读取AD组信息的权限
  • 若使用ASP.NET Core,配置逻辑一致但语法不同,需对应配置AD身份验证服务

额外说明

当你用users属性指定AD组时,ASP.NET会将其视为单个用户账户而非用户组,因此无法匹配组内的用户;roles属性才是专门用于指定用户组(包括AD安全组)的配置项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:40:09