Je veux convaincre mon patron que nous devrions utiliser git pour le contrôle de version. Il dit qu'il doit absolument authentifier les utilisateurs via notre serveur LDAP central.
J'ai regardé les différentes solutions (gitweb, gitorious ...) et je n'ai pas vraiment trouvé de réponse définitive sur la prise en charge de l'authentification LDAP.
La seule solution sur laquelle j'ai pu trouver des informations était un paramètre Apache + mod_ldap. Mais cela signifierait que l'utilisateur s'authentifiant sur LDAP ne serait pas nécessairement le même que l'utilisateur git réel, non? (Non pas que ce soit un énorme problème, mais juste quelque chose qui me dérangerait.)
Alors, quelle est la meilleure façon d'authentifier les utilisateurs de git via LDAP?
Réponses:
Alors que les clés sont utilisées pour la plupart des services publics git, la véritable authentification se fait via ssh. SSH est alors plus capable de s'authentifier contre LDAP. En ce qui concerne git, une fois que vous avez accès aux fichiers, vous pouvez vous rendre en ville.
MISE À JOUR
Git prend désormais en charge (à partir de cette année, qui savait?) Un mécanisme de poussée http intelligent. L'ancienne méthode consistait à utiliser un serveur webdav, mais l'extraction et la poussée étaient très lentes et inefficaces. Vous pouvez maintenant obtenir à peu près les mêmes vitesses sur http que vous le feriez avec ssh: // ou git: //. Cela signifie que vous pouvez utiliser apache ou nginx et utiliser n'importe quel schéma d'authentification http que vous souhaitez. (Ldap, base de données, etc.)
Plus d'infos sur pro git et github .
la source
Vous pouvez rechercher / développer une authentification backend git à l'aide de scripts de hook git pré-réception. Ils ne sont pas nécessairement nécessaires pour être un script shell.
Par exemple, si vous examinez le crochet de pré-réception de gitorious , vous verrez son moyen d'authentifier le gars qui essaie de pousser dans le référentiel distant dans cette situation en utilisant un Ruby Script. Si vous le souhaitez et passez un peu de votre temps dessus, vous pouvez faire de même en utilisant votre langue préférée et sa bibliothèque ldap :-)
la source