通过web.config实现ASP.NET Active Directory角色提供程序

Fra*_*kie 9 asp.net web-config active-directory

我想问一下是否有人可以为以下情况提供web.config的示例:

我有一个带有表单身份验证(登录控件)的Web(ASP.NET),我希望将其连接到我们的公司Active Directory.在AD中,我们已经定义了用户和组.用户的身份验证(允许用户......)就像魅力一样,但是,当我想添加角色身份验证(允许角色......)时它不起作用.我曾尝试启用角色管理器,但不知道如何设置提供程序以与AD通信.

此外,我想只在web.config中进行所有设置,而不是在代码中进行组验证(我知道它是可能的,但我更喜欢配置解​​决方案).

虽然我在网上经历了几个教程,但大多数角色认证都是针对使用本地sql server或windows授权,而不是AD.

Wik*_*hla 9

我们的想法是编写一个自定义角色提供程序,它从AD中读取组并作为用户角色公开:

http://slalomdev.blogspot.com/2008/08/active-directory-role-provider.html


Eon*_*dan 9

如果该站点在您的Intranet上,则您不需要使用登录控件或角色提供程序.AD已经是一个开箱即用的提供商.您的web.config文件需要

<authentication mode="Windows"/>
<authorization>
  <!--<allow roles="AD_GROUP" />-->
  <!--<allow users="USERS"/-->
  <deny users="?"/> <!-- Important if you want to force authentication-->
</authorization>
Run Code Online (Sandbox Code Playgroud)

在您的代码中的某个位置,您可以检查用户是否具有以下角色:

HttpContext.Current.User.IsInRole("AD_GROUP_NAME")
Run Code Online (Sandbox Code Playgroud)