Quero convencer meu chefe de que deveríamos usar o git para controle de versão. Ele diz que é absolutamente necessário autenticar usuários através do nosso servidor LDAP central.
Eu olhei para as várias soluções (gitweb, gitorious ...) e não consegui realmente encontrar uma resposta definitiva sobre se elas suportam autenticação LDAP.
A única solução em que pude encontrar algumas informações foi uma configuração do Apache + mod_ldap. Mas isso significaria que o usuário autenticado no LDAP não seria necessariamente o mesmo que o usuário git real, certo? (Não que isso seja um problema enorme, mas apenas algo que me incomodaria.)
Então, qual é a melhor maneira de autenticar usuários git via LDAP?
Respostas:
Enquanto as chaves são usadas para a maioria dos serviços públicos de git, a autenticação real acontece via ssh. O SSH é mais do que capaz de se autenticar no LDAP. No que diz respeito ao git, depois de ter acesso aos arquivos, você pode ir à cidade.
ATUALIZAR
O Git agora suporta (a partir deste ano, quem sabia?) Um mecanismo inteligente de envio de http. A maneira antiga era usar um servidor webdav, mas a busca e o envio eram muito lentos e ineficientes. Agora você pode obter praticamente as mesmas velocidades em http como faria com ssh: // ou git: //. Isso significa que você pode usar apache ou nginx e usar qualquer esquema de autenticação http que desejar. (LDAP, banco de dados etc.)
Mais informações em pro git e github .
fonte
Você pode procurar / desenvolver uma autenticação de back-end git usando scripts de pré-recebimento de ganchos do git. Eles não são necessariamente necessários para ser um script de shell.
Por exemplo, se você observar o gancho de pré-recebimento vitorioso , verá o caminho para autenticar o cara que está tentando entrar no repositório remoto nessa situação usando um Script Ruby. Se você deseja gastar um pouco do seu tempo, pode fazer o mesmo usando seu idioma favorito e sua biblioteca ldap :-)
fonte