3

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

目前我使用这个字符串没有成功

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

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

4

1 回答 1

2

访问 Active Directory 安全性需要到您的 Active Directory 的连接字符串。您的系统管理员应该为您提供适当的连接字符串信息。应用程序安全向导为根域控制器和一级域控制器提供了可能的 Active Directory 连接字符串,这足以连接到 Active Directory 并使用 Active Directory 安全性。这是一个非常强大的功能。如果没有可用的 Active Directory,则无法对任何人进行身份验证。配置的连接字符串作为 ADDomainControllers 键的值存储在应用程序的 Web.config 文件中。如果在通过应用程序安全向导配置应用程序安全时 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)用于获取详细信息。

于 2012-10-11T08:57:25.990 回答