Ich habe eine Reihe von privaten Subversion-Repositorys auf einer Windows Server 2003-Box, auf die Entwickler über SVNServe über das Protokoll svn: // zugreifen. Derzeit verwenden wir die Dateien authz und passwd für jedes Repository, um den Zugriff zu steuern. Angesichts der wachsenden Anzahl von Repositorys und Entwicklern erwäge ich jedoch, auf die Verwendung ihrer Anmeldeinformationen aus ActiveDirectory umzusteigen. Wir laufen in einem Microsoft-Shop und verwenden IIS anstelle von Apache auf allen unseren Webservern. Daher würde ich es vorziehen, SVNServe weiterhin zu verwenden, wenn dies möglich ist.
Abgesehen davon, dass es möglich ist, mache ich mir auch Gedanken darüber, wie unsere Repositorys migriert werden sollen, damit der Verlauf für die vorhandenen Benutzer den richtigen ActiveDirectory-Konten zugeordnet wird. Denken Sie auch daran, dass ich nicht der Netzwerkadministrator bin und mit ActiveDirectory nicht sonderlich vertraut bin. Daher muss ich wahrscheinlich einige andere Personen kontaktieren, um die Änderungen in ActiveDirectory vorzunehmen, falls erforderlich.
Welche Möglichkeiten habe ich?
UPDATE 1: Aus der SVN-Dokumentation geht hervor, dass ich mit SASL SVNServe dazu bringen sollte, sich mit ActiveDirectory zu authentifizieren. Um dies zu verdeutlichen, ist die gesuchte Antwort, wie Sie SVNServe (falls möglich) so konfigurieren, dass ActiveDirectory für die Authentifizierung verwendet wird, und wie Sie ein vorhandenes Repository ändern, um vorhandene svn-Benutzer ihren ActiveDirectory-Domänen-Anmeldekonten neu zuzuordnen.
UPDATE 2: Es scheint, dass die SASL-Unterstützung in SVNServe von einem Plugin-Modell ausgeht und die Dokumentation nur als Beispiel dient. In der Cyrus SASL-Bibliothek sieht es so aus, als ob eine Reihe von "Authentifizierungsmechanismen" unterstützt werden. Ich bin mir jedoch nicht sicher, welche für die ActiveDirectory-Unterstützung verwendet werden sollen, und ich kann auch keine Dokumentation zu solchen Themen finden.
UPDATE 3: Ok, es sieht so aus, als würde ich zur Kommunikation mit ActiveDirectory saslauthd anstelle von sasldb für die auxprop_plugin -Eigenschaft verwenden . Leider scheint es, dass saslauthd einigen Posts zufolge (möglicherweise veraltet und ungenau) nicht auf Windows aufbaut und solche Bemühungen als in Arbeit betrachtet werden .
UPDATE 4: Der letzte Beitrag, den ich zu diesem Thema gefunden habe, klingt so, als ob die richtigen Binärdateien () in der MIT Kerberos-Bibliothek verfügbar sind, aber es scheint, als ob der Autor dieses Beitrags auf Nabble.com immer noch Probleme hat, die Dinge zum Laufen zu bringen .
UPDATE 5: Es sieht aus wie aus den TortoiseSVN Diskussionen und auch diesem Beitrag auf svn.haxx.seDies gilt auch dann, wenn saslgssapi.dll oder die erforderlichen Binärdateien auf dem Windows-Server verfügbar und konfiguriert sind und die Clients dieselbe Anpassung benötigen, um mit diesen Repositorys zu arbeiten. Wenn dies zutrifft, können wir ActiveDirectory-Unterstützung nur von einem Windows-Client erhalten, wenn Änderungen an diesen Clients vorgenommen werden, z. B. TortoiseSVN und CollabNet-Build der Client-Binärdateien, um solche Authentifizierungsschemata zu unterstützen. Obwohl dies in diesen Beiträgen vorgeschlagen wird, ist dies ein Widerspruch zu der ursprünglichen Annahme, dass SASL-kompatibel keine Änderungen auf dem Client erfordern sollte, sondern lediglich, dass der Server für die Behandlung des Authentifizierungsmechanismus eingerichtet wird. Nachdem Sie das Dokument über Cyrus SASL in Subversion etwas genauer gelesen habenIn Abschnitt 5 heißt es: "Clients ab 1.5 mit Cyrus SASL-Unterstützung können sich bei aktivierten SASL-Servern ab 1.5 authentifizieren, sofern mindestens einer der vom Server unterstützten Mechanismen auch vom Client unterstützt wird." Aus diesem Grund muss die GSSAPI-Unterstützung (die meines Wissens für Active Directory erforderlich ist) sowohl auf dem Client als auch auf dem Server verfügbar sein.
Ich muss sagen, ich lerne viel zu viel über die Interna, wie Subversion mit Authentifizierung umgeht, als ich es jemals wollte. Und leider suchte ich nur nach einer Antwort, ob ich Unterstützung für die Active Directory-Authentifizierung haben kann, wenn ich SVNServe auf einem Windows-Server verwende und von Windows-Clients aus darauf zugreife. Laut der offiziellen Dokumentation scheint dies möglich zu sein, Sie können jedoch feststellen, dass die Konfiguration nicht trivial ist, wenn überhaupt möglich.
UPDATE: 6: Könnte irgendjemand etwas darüber sagen, ob Subversion 1.7 die Situation verbessern wird, SVNServe dazu zu bringen, sich mit Active Directory zu authentifizieren?