15

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

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

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

我需要:

  1. <roleManager enabled="true"/>web.config
  2. <allow roles ="domain\groupA"/>web.config
  3. IIS 设置为 windows 身份验证
  4. if (User.IsInRole(@"domain\groupA")){ //do stuff }在我的页面?

我还缺少什么?任何事物?因为它不工作。呵呵。

感谢你的帮助。

4

1 回答 1

22

您可能只需要在 web.config 中添加 RoleProvider 来告诉应用如何针对 AD 进行搜索。

示例代码来自这里

<roleManager defaultProvider="WindowsProvider" 
  enabled="true"
  cacheRolesInCookie="false">
  <providers>
    <add
      name="WindowsProvider"
      type="System.Web.Security.WindowsTokenRoleProvider" />
  </providers>
</roleManager>
于 2008-10-16T16:11:52.433 回答