ActiveDirectoryMembershipProvider "Die angegebene Domäne oder server konnte nicht kontaktiert werden."
Ich habe eine Anwendung, die ActiveDirectoryMembershipProvider Benutzern Zugriff gewähren. Die Anwendung gehostet wird, auf einem nicht-domain-Rechner mit einem firewall zwischen dem application server und dem Domänencontroller.
Haben wir geöffnet, der LDAP-port von der DC auf der Innenseite Netz - doch egal was wir versuchen, wir uns am Ende mit einem Fehler, der sagt "Die angegebene Domäne oder server konnte nicht kontaktiert werden."
Hat jemand irgendwelche Vorschläge auf, wie kann ich dies beheben? Wir haben versucht, alles, was wir denken können und sind einfach nicht von der Stelle zu kommen.
Mein connection string:
<add name="ADConnectionString"
connectionString="LDAP://10.5.3.7:389/DC=MyTestDomain,DC=local"/>
Und mein provider ist:
<add name="ActiveDirectoryMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider"
connectionStringName="ADConnectionString"
attributeMapUsername="SAMAccountName"
connectionProtection="None"
connectionUsername="LdapUser"
connectionPassword="LdapPassword" />
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da könnte man die Abfrage direkt mit einem LDAP-tool, das deutet darauf hin, dass die firewall korrekt geöffnet. Behalten Sie jedoch im Hinterkopf, dass der
ActiveDirectoryMembershipProvider
ist nicht mit plain old LDAP, es ist mit Microsoft-Technologien. Zum Beispiel, wenn SieconnectionProtection="Secure"
, ADMP wird versuchen, mit SSL port 636, wenn das fehlschlägt, wird es von Microsoft verwenden integrierte IPSec-Signierung (siehe dieser Artikel für mehr details).Sowieso, das macht mich Wundern sich über ein paar Dinge:
Scheint es, wie die Lösung ist, öffnen Sie port 445.
Diesen thread Lesen
Wir sind nicht erlaubt zu öffnen, also denke ich, ich bin stecken.
System.DirectoryServices.DirectoryEntry(...)
gerade fein mit meinem LDAP-connection-string, aber alle versuche, eine Verbindung über dieActiveDirectoryMembershipProvider
ergäbe die folgende Fehlermeldung:The specified domain or server could not be contacted
. Öffnet diesen port, ist das Problem behoben.Können Sie diese beiden Artikel, kann Ihr problem lösen
http://www.ddj.com/windows/184406424
forums.asp.net/t/1408268.aspx
und prüfen Sie Ihre firewalls
Ich hatte diesen Fehler, und es geschafft, es zu beheben. Es gibt mehrere Gründe, dass kann dazu führen, hier eine to-do-Liste zu identifizieren, die exect problem:
Erstellen einer Mikro-Anwendung, mit der einzigen Methode, die Mitgliedschaft.GetAllUsers(), führen Sie auf der Maschine außerhalb der Active Directory (AD), mit falschen Kennwort in die Verbindungszeichenfolge, überprüfen Sie, wenn Sie ein Falsches Kennwort Ausnahme. Wenn Sie es nicht bekommen Sie keine Verbindung zu Ihrem AD-server, überprüfen Sie die firewall, wenn Sie nicht bekommen, Passwort ungültig Ausnahme ist, gehen Sie zum nächsten Schritt.
Wenn Sie können, versuchen, auszuführen gleichen app lokal auf dem AD-server zuerst mit falschen Passwort, als mit der richtigen, die Ausführung der app lokal bietet mehr detaillierte Ausnahme, was falsch ist (für mich diese Ausnahme führt mich zu reparieren, problem). In meinem Fall hat es mir gesagt, dass Server-Dienst nicht gestartet ist, als auf der Workstation-Dienst ist nicht gestartet.
Einige Gedanken über die Tatsache, dass es die benötigten Server-und Workstation-Dienste auf server: afaik Server-Dienst ist für windows-Dateifreigabe (netbios über TCP) und 445-port, so dass es mey sein, dass dieser port muss geöffnet sein, zusätzlich zu LDAP-port. Meine zweite Beobachtung war, dass die Veranstaltung, wenn port 445 offen (netstat-an) Sie kann immer noch nicht arbeiten, winows drop alle Pakete auf diesen port, wenn Windows-Client und Datei-und Drucker-Freigabe-Checkboxen sind nicht aktiviert auf dem Netzwerk-interface-adapter, die rcived dieser Pakete. Überprüfen Sie "telnet External_IP 445". Das ist alles info, die ich gesammelt, während strugling mit diesem problem.
Haben Sie getestet mit einem LDAP-browsing-tool, von der remote-box zu sehen, wenn Sie eine Verbindung herstellen können mit den Kriterien, die hier verwendet? I. e. Ist es ein connectivity-problem oder etwas anderes?
Falls jemand stolpert über diese und will Sie zerschlagen, Ihr Kopf auf eine Wand... habe vor Kurzem versucht, dies alles für einen AD-server, dass mein Unternehmen hatte in einer anderen Domäne als der aktuelle Kontext. Die IP bereitgestellt und erste Misserfolge als hier angegeben. Auch verwendet ein tool wie Softerra LDAP Admin und es funktionierte gut, aber Kontoverwaltung fehlgeschlagen.
Hatten wir eine öffentlich bloßgestellt URL eingehakt, die IP-Adresse (immer noch erlauben, nur bestimmte IP ' s zu telefonieren). Einmal ersetzte ich die IP mit der URL, es funktionierte wie ein Charme.
Hoffe, das spart jemand die Stunden von Kopf zusammenschlagen, ich Stelle gerade selber durch.