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

标签 c# asp.net security authentication role

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

具体来说,我需要根据当前登录的用户是否属于 domain\groupA 来显示/隐藏页面上的项目在事件目录中。出于某种原因,很难找到有关为此使用 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 }在我的页面上?

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

感谢大家的帮助。

最佳答案

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

示例代码来自 here .

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

关于c# - 使用 Active Directory 中的安全组的 Asp.Net 基于角色的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/209242/

相关文章:

c# - 转义 XML 属性中的撇号

c# - 在 Asp.net Rowcommand 事件中获取行索引

c# - 存储网站登录凭据的最佳方法

c# - 使用 LINQ 对字符串数组进行排序

.net - 以管理员身份运行 .NET 应用程序

security - 如何保护 servlet 的访问?

security - 为了安全起见, session key 应包含多少个字符?

c# - 在 Windows 服务和 Windows 应用程序之间使用 EventWaitHandles

c# - Debug.Assert 有时不起作用

javascript - 回发期间的进度条 asp.net