Я хочу убедить моего босса, что мы должны использовать git для контроля версий. Он говорит, что он обязательно должен аутентифицировать пользователей через наш центральный сервер LDAP.
Я посмотрел на различные решения (gitweb, gitorious ...) и не смог найти однозначного ответа о том, поддерживают ли они аутентификацию LDAP.
Единственное решение, о котором я мог найти небольшую информацию, - это настройка Apache + mod_ldap. Но это будет означать, что аутентификация пользователя в LDAP не обязательно будет такой же, как и у реального пользователя git, верно? (Не то, чтобы это была огромная проблема, но что-то, что могло бы меня подвести.)
Итак, каков наилучший способ аутентификации пользователей git через LDAP?
Ответы:
В то время как ключи используются для большинства общедоступных git-сервисов, настоящая аутентификация происходит через ssh. SSH более чем способен аутентифицироваться против ldap. Что касается git, когда у вас есть доступ к файлам, вы можете отправиться в город.
ОБНОВИТЬ
Git теперь поддерживает (по состоянию на этот год, кто знал?) Умный механизм http-pushing. Старый способ заключался в использовании сервера webdav, но и извлечение, и отправка были очень медленными и неэффективными. Теперь вы можете получить почти такую же скорость по протоколу http, как и по ssh: // или git: //. Это означает, что вы можете использовать apache или nginx и использовать любую схему http auth, какую пожелаете. (Ldap, база данных и т. Д.)
Больше информации от pro git и github .
источник
Вы можете искать / разрабатывать аутентификацию git backend, используя сценарии pre-receive git hooks. Они не обязательно должны быть сценарием оболочки.
Например, если вы посмотрите на « ловушку предварительного получения» , вы увидите способ аутентификации парня, который пытается протолкнуть удаленное репо в этой ситуации, используя Ruby Script. Если вы хотите потратить на это немного времени, вы можете сделать то же самое, используя свой любимый язык и его библиотеку ldap :-)
источник