fragen stichworte

Überprüfen Sie den SVN-Benutzer durch die Windows-Domänenanmeldung

Ich habe gerade einen SVN-Server (auf einem Windows XP-Computer) für mein Labor an meiner Universität eingerichtet. Derzeit kann jeder anonym auf das Repository zugreifen und sich für ihn festlegen.

Ich möchte nur bestimmten Benutzern in unserer AD-Domäne den Zugriff auf das Repository erlauben. Wenn möglich, möchte ich auch, dass die Passwörter dem Passwort für die Domäne entsprechen.

Ist das möglich?

Gelöst

Ich habe mod_auth_sspi installiert und meine httpd.conf folgendermaßen konfiguriert:

    DAV svn     SVNPath "R: \ SVN"

AuthName "SVN Server"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain AD
SSPIOfferBasic On
Require valid-user

AuthzSVNAccessFile "r:/svn/svnaccess.conf"

und in svnaccess.conf:

[groups]
dev = AD\user1, user1, AD\user2, user2

[/]
@dev = rw

antworten

Wenn Sie Apache verwenden, ja. Stellen Sie sicher, dass mod_auth_sspi installiert ist. Anschließend konfigurieren Sie das Verzeichnis mit den entsprechenden Einstellungen:

<Directory/>
    Options FollowSymLinks
    AllowOverride None

    AuthType SSPI
    AuthName "YOURDOMAIN"
    SSPIAuth On
    SSPIAuthoritative Off
    SSPIDomain dc.yourdomain.com
    SSPIOmitDomain Off
    SSPIOfferBasic On
    SSPIUsernameCase lower
    Require group "YOURDOMAIN\\AuthorizedGroup" 
</Directory>

In Ihrer svnpasswd-Datei geben Sie einfach die Benutzer mit den vollständigen Domänennamen

an
developers = mydomain\\myuser
[/]
@developers = rw

Ich hoffe das hilft ein bisschen.

Sie haben nicht explizit angegeben, wie Subversion geliefert wird, aber auf der Grundlage Ihrer Tags gehe ich von Apache aus. Die Verwendung von Apache 2.2 zur Bereitstellung von Subversion mit Authentifizierung durch AD ist ziemlich einfach.

In Ihrer Apache-Konfiguration müssen Sie dem Positionsblock für das Repository die entsprechenden Auth-Parameter hinzufügen.

Zum Beispiel (eingeschränkter Lese- und Schreibzugriff):

<Location/repo>
    DAV svn
    SVNPath/var/svn/repo
    AuthName "Subversion WebDAV"
    AuthType Basic
    AuthLDAPURL "<ldap_url>"
    AuthLDAPBindDN "<ldap_bind_dn>"
    AuthLDAPBindPassword "<password>"
    Require valid-user
</Location>

Möglicherweise müssen Sie mit Ihrem AD-Administrator sprechen, um ein Dienstkonto einzurichten, das von Apache für die Verbindung zu AD verwendet werden soll (falls Ihr AD vor dem Durchsuchen eine Bindung erfordert).

Wenn Sie anonyme Lesevorgänge zulassen möchten, während sich die Benutzer zum Schreiben authentifizieren müssen, ersetzen Sie die Zeile Require valid-user oben durch Folgendes:

<LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
</LimitExcept>

Zwei weitere Optionen zum Hosten von Subversion-Repositorys unter Windows sind SVNIsapi und Visual SVN.

SVNIsapi ist ein IIS-Plugin für IIS 6.0 und höher. AD-Sicherheit wird von IIS bereitgestellt.

Visual SVN enthält Apache, SVN und ein GUI-Tool zur Verwaltung von Repositorys. Die AD-Sicherheit wird von einem Apache-Modul bereitgestellt und über das GUI-Tool konfiguriert.