2008-09-10 5 views
3

Wir haben eine ASP.NET-Anwendung, die bei einem Kundenstandort ausgeführt wird, der ActiveDirectory für die Benutzeranmeldung über den ActiveDirectoryMembershipProvider verwendet. Ihr primärer Domänencontroller, auf den wir hinwiesen, ging heute Morgen unter, und als wir alles neu aufbauen wollten, fragte sich der Client, ob wir eine redundante Verbindung zu zwei Domänencontrollern haben könnten. d. h. Angabe eines Primär- und eines Backup-AD-Servers. Eine Google-Suche erwies sich als fruchtlos - weiß jemand, ob dies möglich ist?Verwenden von ActiveDirectoryMembershipProvider mit zwei Domänencontrollern

Antwort

2

Wenn ActiveDirectory nicht mehrere Domänencontroller verwalten könnte, wäre es keine sehr gute Technologie.

Sie müssen nur sicherstellen, dass Sie in Ihrer Mitgliedschaftskonfiguration auf "Domäne" und nicht auf "Server" zeigen und dann zwei oder mehr Controller zu Ihrer Domain hinzufügen.

Wenn Sie die Domäne im Allgemeinen als "LDAP: // Server/DC = Domäne, DC = com" bezeichnen, sollten Sie den "Server" -Teil entfernen und einfach auf "LDAP: // DC = domain, DC = com“

Das folgende Code Projekt gibt eine lange Liste von Dingen, die Sie in Active Directory von C# tun können: http://www.codeproject.com/KB/system/everythingInAD.aspx#7

+0

Wie würde die LDAP-Verbindungszeichenfolge aussehen, wenn Sie auf die Domäne und nicht auf den Server zeigen? –

0

Es kann getan werden, es wird nur etwas Arbeit brauchen.

Sie müssen eine Klasse erstellen, die von ActiveDirectoryMemberhsipProvider erbt und stattdessen Ihren Provider verwendet. Auf diese Weise können Sie die meisten Funktionen beibehalten. Richten Sie dann eine Methode ein, um zwei connectionStringName-Eigenschaften anzugeben, eine für primäre und eine für sekundäre. Sie müssen auch den Code erstellen, um die Informationen aus der Konfiguration zu lesen, da Sie sie ändern. Überschreibe dann einfach die Methoden, bei denen du abfangen musst, wenn das primäre System heruntergefahren ist, und wechsle zum sekundären System. Dies wird die wiederverwendbarste Art und Weise sein, dies zu tun.

Es gibt wahrscheinlich andere Möglichkeiten, es zu tun, aber es wird wahrscheinlich hacky und nicht sehr wiederverwendbar sein. So testen Sie die Verbindung vor jeder Anforderung und legen dann die Verbindungszeichenfolge auf diese Weise fest.

Basierend auf der MSDN documentation auf der Klasse, wird dies wahrscheinlich die einzige Möglichkeit sein, es zu tun. Sie bieten nicht die interne Funktionalität.

+0

ich habe Angst, dass, obwohl ich ADMP subclassed habe vor und es wasn Schade. Ich bin gespannt, ob es eine Antwort darauf gibt, wie die LDAP-Zeichenfolge aussehen würde, wenn sie auf die Domäne und nicht auf den Server verweist. –

+1

Jede LDAP-Verbindungszeichenfolge, die ich je gesehen habe, enthielt den Server. Dann würden Sie die Domäne angeben, auf der sich die Authentifizierung durchführen lässt. –

Verwandte Themen