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

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

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

我需要:

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

    感谢大家的帮助。

有帮助吗?

解决方案

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

此处的示例代码。

<roleManager defaultProvider="WindowsProvider" 
  enabled="true"
  cacheRolesInCookie="false">
  <providers>
    <add
      name="WindowsProvider"
      type="System.Web.Security.WindowsTokenRoleProvider" />
  </providers>
</roleManager>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top