2010-01-12 12 views
5

Ich habe Ihren Artikel mit Apache Auth mit Gitweb, Gitosis gefunden.Authentifizierung von Gitweb mit Gitosis ohne LDAP-Authentifizierung?

Ich frage mich, ob es eine Möglichkeit gibt, dies zu tun, wenn ich LDAP nicht zur Authentifizierung verwenden würde. Wir haben derzeit eine sehr große NIS-Domain, die wir für die Authentifizierung auf allen Unix-Servern verwenden. Wir verwenden diese für SVN-Repositories über eine Benutzeroberfläche, aber für diesen Fall Ich versuche, eine Anforderung zu erfüllen:

  • Git-Repositorys
  • Zugang Controlled - mit gitolite
  • Online UI - mit gitweb
  • UI muss auch Access Control haben - noch nicht
  • implementiert

ich dachte zuerst muss ich gitweb und gitolite, um gemeinsam zu spielen und jeder arbeitet individuell im Moment.

Wenn gitolite Zugriff mit SSH-Schlüsseln bietet, kann es den Zugriff auf diese Weise bereitstellen, indem es einen Schlüssel für jede Maschine hat, auf die ein Benutzer/Entwickler auf Gitweb/gitolite zugreift.

Oder wenn ich gitweb einfach Benutzer aus NIS-Domäne authentifizieren kann, da jeder Benutzer ein Konto hat, das unsere IT-Abteilung eingerichtet, wäre dies besser.

Irgendwelche Ideen oder Howtos, die ich verwenden kann, um weiter auf diese Anforderung zu kommen?

Antwort

4

Die Art und Weisen Sie gitweb verknüpfen und gitosis zusammen ist durch:

 
    use lib ("."); 
    require "gitweb.conf"; 
  • eine NIS authentication für Ihre Apache2 httpd.conf (oder extra/httpd-ssl.conf wenn Sie https verwenden)

Sobald ein Benutzer authentifiziert wird (sei es mit einfachen, LDAP oder NIS Auth), die $cgi->remote_user wird gesetzt, und dass ist dieser Login, der (von der gitolite gitweb.conf) an das gitolite perl Skript übergeben wird, das Git Zugriffsrechte (ACLs) verwaltet.

Die Git-ACLs werden weiterhin von ssh key verwaltet und sind unabhängig vom Login-Mechanismus, mit Ausnahme des Login-Teils, der es gitolite ermöglicht, die richtige Account-Zuordnung zu treffen.