我开发 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。我手动将用户添加到组...
有谁知道问题可能是什么或我设置错了什么?
谢谢