0

我开发 Intranet 应用程序,但我对 AD 角色有疑问。用户由 windows 登录

<authentication mode="Windows"></authentication>

我只需要通过 AspNetWindowsTokenRoleProvider 提供程序读取用户的 AD 角色

<roleManager defaultProvider="AspNetWindowsTokenRoleProvider" 
                 enabled="true" 
                 cacheRolesInCookie="false">
    <providers>
      <remove name="AspNetSqlRoleProvider" />
    </providers>
  </roleManager>

为了阅读角色,我使用了静态类角色(Roles.GetRolesForUser 和 Roles.IsUserInRole(roleName))...

当您提取角色列表时可以:

foreach (var i in Roles.GetRolesForUser())
{
   tmp.Text += i + "<br />";
}

tmp 是 asp:Literal 控件的 ID。

出于测试目的,我在 AD 中创建了一个名为 TESTGROUP 的测试角色。我将向角色 TESTGROUP 添加用户,但此更改未反映在角色列表中。

我在列表中看到一个新的角色并没有帮助重新启动 IIS,我必须重新启动整个服务器。

我使用 Windows Server 2008 R2 和 IIS 7。我手动将用户添加到组...

有谁知道问题可能是什么或我设置错了什么?

谢谢

4

0 回答 0