我需要为Active Directory配置连接字符串,我的Web应用程序位于可以访问Active Directory的同一台计算机上
目前我正在使用此字符串但没有成功
<add name="ADConnectionString" connectionString="" />
请你指出正确的方向,因为这是我第一次对Active Directory进行查找。
答案 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)
用于获取详细信息。