2009-06-23 14 views
1

Wir haben ein SVN 1.4-Repository, das Apache 2.0 für die Authentifizierung verwendet; speziell das mod-auth-sspi Modul zur Authentifizierung mit unserer Windows Domain. Der relevante Teil der httpd.conf sieht wie folgt aus:So richten Sie mehrere Authentifizierungstypen für 1 Subversion Repo ein?

<Location /svn> 
    AuthType SSPI 
    AuthName "My Subversion" 
    SSPIAuth On 
    SSPIAuthoritative On 
    SSPIDomain MYDOMAIN 
    SSPIFixDomainCase On 
    SSPIOfferBasic On 
    Require group MYDOMAIN\MYDOMAINGROUP 
</Location> 

Wir haben auch ein automatisiertes Build-Server haben, die die Quelle von SVN bekommen muss, und bauen es. Dies erfordert natürlich, dass der Build-Server gültige Domänenanmeldeinformationen an SVN/Apache weitergibt.

Heute tun wir dies, indem Sie meine eigenen Domain-Anmeldeinformationen verwenden. Dies ist keine so gute Idee, da etwas Schlimmes passieren könnte oder ich im Urlaub sein könnte, wenn mein Domain-Passwort abläuft - der gesamte automatische Build-Prozess würde einfrieren. Das Erstellen eines speziellen Kontos für die Domäne nur für den automatischen Erstellungsserver ist zu diesem Zeitpunkt keine Option, da ich für ein riesiges Unternehmen arbeite und die Bürokratie, um so etwas zu tun, unerschwinglich ist.

Was ich tun möchte, ist, das vorhandene SSPI-Authentifizierungsschema unverändert zu lassen, aber ein lokales Konto auf dem Rechner zu erstellen, auf dem SVN gehostet wird und der automatische Build-Server mit diesem lokalen Konto authentifiziert. Mit anderen Worten, zwei verschiedene Authentifizierungspfade (SSPI + ein lokales Konto) für das eine SVN-Repository.

Ist das möglich? Wie mache ich es?

+0

gehört zu serverfault – cletus

+0

Auch nur eine Frage von Apache. Die Tatsache, dass ein SVN-Repo ist, spielt keine Rolle. –

+0

Leider ist dies kein Programmier-Thema, sondern Konfiguration für allgemein verfügbare Software. Serverfault besser passt. – Znik

Antwort

2

Wenn Sie zusätzlich zur SSPI-Authentifizierung eine Standardauthentifizierung bereitstellen möchten, müssen Sie sie unter einer anderen URL bereitstellen, z.

<Location /svn_pass> 
    AuthType Basic 
    AuthName "svn" 
    AuthUserFile /etc/apache2/svnusers 
    require valid-user 
    </Location> 

Alternativ können Sie hostbasierte Autorisierung verwenden, die Sie dann auch in die aktuelle URL setzen, und geben Sie „Satisfy Any“.

0

Alternativ können Sie auch mehrere Authentifizierungsmethoden verwenden. Lassen Sie das, was Sie bereits eingerichtet haben, und richten Sie svnserve so ein, dass der Buildserver über eigene Anmeldeinformationen verfügt.

Subversion wird gerne mit multiple repository access methods arbeiten.

+0

gibt es keine Informationen, was OS verwendet. Gibt es ssh + svn? Der einfachste Weg besteht darin, eine weitere URL für einen speziellen automatisierten Zugriff ohne Aufforderung zur Authentifizierung zu erstellen. – Znik

Verwandte Themen