Asp.Net使用Active Directory中的安全组进行基于角色的身份验证

时间:2008-10-16 16:07:46

标签: c# asp.net security authentication role

我正在尝试做一些简单的事情(我想) - 使用我们域中的Active Directory组使用基于角色的安全保护我的应用程序。

具体来说,我需要在页面上显示/隐藏项目,具体取决于当前登录的用户是否是Active Directory中domain\groupA的一部分。出于某种原因,很难找到有关使用Active Directory的信息。我似乎发现的所有内容都详细介绍了使用角色使用基于表单的身份验证,或者它使用数据库来存储信息。

我想要做的就是在Active Directory中使用我们已经概述的安全结构。有人可以解释我需要什么吗?

我需要:

    <roleManager enabled="true"/>
  1. web.config<allow roles ="domain\groupA"/>
  2. web.config
  3. IIS设置为Windows身份验证
  4. 我的页面中有
  5. if (User.IsInRole(@"domain\groupA")){ //do stuff }
  6. 我还缺少什么?什么?因为它不起作用。 HEH。

    感谢大家的帮助。

1 个答案:

答案 0 :(得分:22)

您可能只需要在web.config中添加一个RoleProvider,告诉应用程序如何对AD进行搜索。

来自here的示例代码。

<roleManager defaultProvider="WindowsProvider" 
  enabled="true"
  cacheRolesInCookie="false">
  <providers>
    <add
      name="WindowsProvider"
      type="System.Web.Security.WindowsTokenRoleProvider" />
  </providers>
</roleManager>