Chcę przekonać mojego szefa, że powinniśmy używać git do kontroli wersji. Mówi, że absolutnie musi uwierzytelniać użytkowników za pośrednictwem naszego centralnego serwera LDAP.
Spojrzałem na różne rozwiązania (gitweb, gitarzysta ...) i nie mogłem znaleźć ostatecznej odpowiedzi na pytanie, czy obsługują one uwierzytelnianie LDAP.
Jedynym rozwiązaniem, o którym mogłem znaleźć trochę informacji, było ustawienie Apache + mod_ldap. Ale to by oznaczało, że użytkownik uwierzytelniający się na LDAP niekoniecznie musi być taki sam jak rzeczywisty użytkownik git, prawda? (Nie chodzi o to, że to ogromny problem, ale po prostu coś, co by mnie zepsuło).
Jaki jest zatem najlepszy sposób uwierzytelnienia użytkowników git za pomocą LDAP?
Odpowiedzi:
Podczas gdy klucze są używane w większości publicznych usług git, prawdziwe uwierzytelnianie odbywa się za pośrednictwem ssh. SSH jest więcej niż zdolny do uwierzytelnienia się przeciwko LDAP. Jeśli chodzi o git, po uzyskaniu dostępu do plików możesz udać się do miasta.
AKTUALIZACJA
Git obsługuje teraz (od tego roku, kto wiedział?) Inteligentny mechanizm wypychania http. Starym sposobem było użycie serwera webdav, ale zarówno pobieranie, jak i wypychanie były bardzo powolne i nieefektywne. Teraz możesz uzyskać prawie takie same prędkości przez http jak ssh: // lub git: //. Oznacza to, że możesz użyć apache lub nginx i użyć dowolnego schematu uwierzytelniania HTTP, jaki chcesz. (Ldap, baza danych itp.)
Więcej informacji od pro git i github .
źródło
Możesz szukać / rozwijać uwierzytelnianie zaplecza git za pomocą skryptów git hooków otrzymanych wcześniej. Nie muszą być koniecznie skryptami powłoki.
Na przykład, jeśli spojrzysz na haczykowaty haczyk przed otrzymaniem , zobaczysz sposób na uwierzytelnienie faceta, który próbuje wcisnąć się w zdalne repozytorium w tej sytuacji za pomocą skryptu Ruby. Jeśli chcesz i spędzasz na nim trochę czasu, możesz zrobić to samo, używając swojego ulubionego języka i jego biblioteki ldap :-)
źródło