【发布时间】:2011-05-19 12:59:50
【问题描述】:
我正在尝试使用 ASP.NET MVC 中的用户和组对 Active Directory 进行身份验证。
我在我的所有类(除了帐户类)上都添加了以下属性:
[Authorize (Roles="SubcontractDB Users")]
此组位于活动目录中的 OU=Area->OU=Groups->OU=Company->CN=SubcontractDB 下。我假设我还需要在 web.config 中设置一个 RoleManager,我尝试如下操作:
<roleManager defaultProvider="ADRoleProvider">
<providers>
<clear />
<add name="ADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider"
connectionStringName="ADConnectionString"
attributeMapUsername="sAMAccountName" />
</providers>
</roleManager>
我的连接字符串是:
<add name="ADConnectionString"
connectionString="LDAP://blah.com:389/DC=blah,DC=wateva,DC=com"/>
显然我做错了,因为这不起作用。我想要做的就是允许访问属于 AD 中某个组的用户。
【问题讨论】:
-
有没有办法防止在使用授权时被要求提供凭据?我在 Intranet 站点上使用 Windows 身份验证,需要通过 AD 组进行保护,并且不提示用户输入凭据。
标签: .net asp.net-mvc active-directory