我想问一下是否有人可以为以下情况提供web.config示例:
我有一个带有表单身份验证(登录控件)的Web(ASP.NET),我希望将其连接到我们的企业Active Directory。在AD中,我们已经定义了用户和组。用户的身份验证(允许用户......)就像魅力一样,但是,当我想添加角色身份验证(允许角色......)时它不起作用。我曾尝试启用角色管理器,但不知道如何设置提供程序以与AD通信。
此外,我想只在web.config中进行所有设置,而不是在代码中进行组验证(我知道这是可能的,但我更喜欢配置解决方案)。
虽然我在网上经历了几个教程,但大部分角色认证都是针对使用本地sql server或Windows授权,而不是AD。
答案 0 :(得分:10)
如果该网站位于 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>
在您的代码中的某个位置,您可以检查用户是否具有以下角色:
HttpContext.Current.User.IsInRole("AD_GROUP_NAME")
答案 1 :(得分:8)
我们的想法是编写一个自定义角色提供程序,它从AD中读取组并以用户角色公开:
http://slalomdev.blogspot.com/2008/08/active-directory-role-provider.html