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

Kol*_*ten 14 c# asp.net security authentication role

我正在尝试做一些简单的事情(我想) - 使用我们域中的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 } 在我的页面?

我还缺少什么?什么?因为它不起作用.嘿嘿.

感谢你的帮助.

tva*_*son 22

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

示例代码来自此处.

<roleManager defaultProvider="WindowsProvider" 
  enabled="true"
  cacheRolesInCookie="false">
  <providers>
    <add
      name="WindowsProvider"
      type="System.Web.Security.WindowsTokenRoleProvider" />
  </providers>
</roleManager>
Run Code Online (Sandbox Code Playgroud)