AspNetWindowsTokenRoleProvider在ASP.NET中无法正常用于Windows身份验证

5 windows asp.net authentication

我正在使用Windows身份验证在ASP.NET中开发Intranet应用程序.我创建了一个从Active Directory域控制器获取信息的AD类.这就是我用来获取当前登录用户所在的用户组之类的内容.问题出在用户所在的ASP.NET角色中.看起来很有趣,但用户所在的AD组列表完全是与用户拥有的角色列表不同.

这是我得到的:

certian用户的AD组列表

  1. 开发商
  2. 账户经营者
  3. 域管理员
  4. IS_IUSRS
  5. 管理员

同一用户的角色列表

  1. PUDDOM \域用户
  2. 大家
  3. BUILTIN \用户
  4. BUILTIN \管理员
  5. NT AUTHORITY\INTERACTIVE
  6. NT AUTHORITY\Authenticated Users
  7. NT AUTHORITY \本组织
  8. 本地
  9. PUDDOM\Domain Admins
  10. PUDDOM \拒绝RODC密码复制组
  11. PUDDOM\DNSADMINS

其他信息:

  1. 我的网站使用IIS7的集成Windows身份验证.
  2. 我的一部分web.config看起来像

这个:

<authentication mode="Windows"  />
<authorization>
  <deny users="?" />

</authorization>

<roleManager defaultProvider="AspNetWindowsTokenRoleProvider"  enabled="true">
        <providers>
            <remove name="AspNetSqlRoleProvider" />
        </providers>
</roleManager>
Run Code Online (Sandbox Code Playgroud)

如何核对清单?

我需要让我的角色列表反映与我的AD组列表相同的数据,因为我将在我的站点地图和其他内容中使用角色修剪.

CPU*_*USY 0

您可能需要将网站权限专门分配给您想要枚举的组。