如何为活动目录配置连接字符串

时间:2012-10-11 08:17:20

标签: asp.net asp.net-mvc active-directory web-config

我需要为Active Directory配置连接字符串,我的Web应用程序位于可以访问Active Directory的同一台计算机上

目前我正在使用此字符串但没有成功

<add name="ADConnectionString" connectionString="" />

请你指出正确的方向,因为这是我第一次对Active Directory进行查找。

1 个答案:

答案 0 :(得分:1)

访问Active Directory安全性需要连接到Active Directory的字符串。您的系统管理员应该为您提供适当的连接字符串信息。应用程序安全性向导为根域控制器和第一级域控制器提供了可能的Active Directory连接字符串,这足以连接到Active Directory并使用Active Directory安全性。这是一个非常强大的功能。如果没有可用的Active Directory,则无法对任何人进行身份验证。配置的连接字符串存储为应用程序的Web.config文件中ADDomainControllers键的值。如果在通过“应用程序安全性向导”配置应用程序安全性时Active Directory控制器不可用,则除了标准角色外,向导中不会显示任何角色。因此,仅当“应用程序安全性向导”可以访问Active Directory控制器时,才可以进行Active Directory角色配置。

为Active Directory提供身份验证所需的步骤,无论是对于没有身份验证的新站点,还是对于使用数据库身份验证的现有站点...

Active Directory连接字符串与ASP.NET中使用的数据库连接字符串相似,只是它引用了LDAP地址。

    <connectionStrings>
     <add name="ADConnectionString"
      connectionString="LDAP://Product.com.au/DC=Product,DC=prd,DC=au"/>
     </connectionStrings>

这是在web.config文件及其整个产品中。我们可以这样做,

<connectionStrings>
<add name="ADConnectionString"
  connectionString="LDAP://Sub.Product.com.au/CN=Sub,DC=Product,DC=prd,DC=au"/>
 </connectionStrings>

然后配置成员资格提供程序

<membership defaultProvider="defaultProviderName">
<providers>
    <add name="defaultProviderName"
    type="System.Web.Security.ActiveDirectoryMembershipProvider,
    System.Web, Version=2.0.0.0, Culture=neutral,
    PublicKeyToken=b03f5f7f11d50a3a"
    connectionStringName="NmaeActiveDirConnectionString"
    attributeMapUsername="Name"/>
</providers>
</membership>

然后配置身份验证和授权参数, 上述设置要求每个用户在访问Web应用程序之前进行身份验证。 ASP.NET会自动将这些用户重定向到Login.aspx页面。

<authentication mode="Forms">
<forms name=".ADAuthCookie" timeout="43200"/>
 </authentication>
  <authorization>
  <deny users="?"/>
  <allow users="*"/>
 </authorization>

最后一步是创建登录页面,

Membership.GetUser(UserName)用于获取详细信息。