使用ActiveDirectoryMembershipProvider和两个域控制器

时间:2008-09-10 15:17:07

标签: asp.net active-directory directoryservices

我们在客户站点上运行一个ASP.NET应用程序,该站点使用ActiveDirectory通过ActiveDirectoryMembershipProvider进行用户登录。他们指向的主要域控制器今天早上停止运行,并且在重新设置所有内容后,客户端想知道我们是否可以与两个域控制器建立冗余连接。即指定主AD服务器和备用AD服务器。谷歌搜索证明没有结果 - 有人知道这是否可以做到?

2 个答案:

答案 0 :(得分:2)

如果ActiveDirectory无法处理多个域控制器,那么这将不是一项非常好的技术。

您只需要确保在您的会员配置中指向“域”而不是“服务器”,然后将两个或更多控制器添加到您的域中。

通常,如果您将域称为“LDAP:// server / DC = domain,DC = com”,那么您应该能够删除“server”部分并简单地引用“LDAP:// DC =域,DC = COM“

以下代码项目提供了一系列可以在C#中在Active Directory中执行的操作:http://www.codeproject.com/KB/system/everythingInAD.aspx#7

答案 1 :(得分:0)

可以做到,只需要做一些工作。

您需要创建一个继承ActiveDirectoryMemberhsipProvider的类,并使用它来代替您的提供程序。这样您就可以保留大部分功能。然后设置一种方法来指定两个connectionStringName属性,一个用于主要属性,一个用于辅助属性。您还需要创建代码以从配置中读取信息,因为您正在更改它。然后只需覆盖主要关闭时需要捕获的方法并切换到辅助方法。这将是最可重复使用的方式。

可能有其他方法可以做到,但它可能是hacky而且不是非常可重用。就像在每个请求之前测试连接一样,然后以这种方式设置连接字符串。

基于类的MSDN documentation,这可能是唯一的方法。它们不提供内部功能。