Использование ActiveDirectoryMembershipProvider с двумя контроллерами домена - PullRequest
3 голосов
/ 10 сентября 2008

На сайте клиента работает приложение ASP.NET, которое использует ActiveDirectory для входа пользователя через ActiveDirectoryMembershipProvider. Их основной контроллер домена, на который мы указывали, вышел из строя этим утром, и, когда все было настроено, клиент задавался вопросом, может ли у нас быть избыточное соединение с двумя контроллерами домена; то есть указание основного и резервного сервера AD. Поиск в Google оказался бесплодным - кто-нибудь знает, можно ли это сделать?

Ответы [ 2 ]

2 голосов
/ 10 сентября 2008

Если ActiveDirectory не может обрабатывать несколько контроллеров домена, это будет не очень хорошая технология.

Вам просто нужно убедиться, что в вашей конфигурации Членства вы указываете на «Домен», а не на «Сервер», а затем добавить два или более контроллеров в свой домен.

Как правило, если вы называете домен «LDAP: // сервер / DC = домен, DC = com», тогда вы можете удалить часть «сервер» и просто обратиться к «LDAP: // DC =». домен, DC = ком "

Следующий код проекта дает длинный список вещей, которые вы можете сделать в Active Directory из C #: http://www.codeproject.com/KB/system/everythingInAD.aspx#7

0 голосов
/ 10 сентября 2008

Это может быть сделано, просто потребуется некоторая работа.

Вам нужно будет создать класс, который наследуется от ActiveDirectoryMemberhsipProvider, и использовать его вместо вашего провайдера. Таким образом, вы можете поддерживать большую часть функциональности. Затем настройте способ указать два свойства connectionStringName, одно для основного и одно для дополнительного. Вам также нужно будет создать код для чтения информации из конфигурации, так как вы ее изменяете. Затем просто переопределите методы, которые вам нужно перехватить, когда основной не работает, и переключитесь на дополнительный. Это будет самый повторный способ сделать это.

Возможно, есть другие способы сделать это, но это, вероятно, будет хакерским и не очень многоразовым. Как тестирование соединения перед каждым запросом, а затем установка строки соединения таким образом.

Исходя из документации MSDN для класса, это, вероятно, будет единственный способ сделать это. Они не обеспечивают внутреннюю функциональность.

...