Réponses:
Eh bien, j'ai commencé avec ce tutoriel.
Après avoir terminé, j'ai apporté les modifications supplémentaires suivantes sur le serveur (Windows 2008):
Vous devez également ajouter les lignes suivantes au .hg\hgrc
fichier de votre référentiel :
Côté client, j'ai dû spécifier explicitement le nom d'utilisateur et le mot de passe.
[web]
allow_push = *
Si vous cherchez un système intégré qui peut fonctionner sur Windows, Unix et s'authentifier auprès d'AD / LDAP, essayez RhodeCode http://rhodecode.com C'est une sorte d'instance locale de bitbucket / github qui sert de référentiels. Il est livré avec un système d'autorisation et une gestion facile des utilisateurs, une révision du code, etc.
J'ai écrit un blog en 4 parties il y a quelques mois qui vous permet d'utiliser Active Directory / IIS pour héberger le serveur Web de Mercurial. Cela fonctionne un régal:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
Il vous guide à travers:
Ben vous a déjà donné un bon guide pour configurer Mercurial sur IIS avec AD.
Je voudrais juste ajouter que la chose clé que vous devez savoir est que le script CGI intégré (rapide) dans Mercurial n'authentifie pas les utilisateurs . Le script CGI que nous fournissons repose sur un serveur Web frontal pour effectuer l'authentification. Vous devez donc configurer Apache, IIS, nginx, ... pour faire l'authentification avant d' appeler le script. (Cependant, vous pouvez utiliser l'excellent RhodeCode si vous voulez un système de type Bitbucket avec prise en charge LDAP que vous pouvez également connecter à AD.)
Cette séparation des préoccupations rend Mercurial très flexible: si vous voulez l'authentification Active Directory, alors vous utilisez simplement le plugin standard pour votre serveur Web pour le faire. De nombreux sites auront déjà cette configuration et donc Mercurial "fonctionnera" :-)
Mercurial ne vérifie donc jamais les mots de passe - la partie authentification. Mais il peut faire une autorisation , ce qui signifie qu'il peut autoriser ou interdire aux utilisateurs de pousser ou de tirer, etc. Cela se fait en fonction du nom d'utilisateur stocké dans la variable CGI standardREMOTE_USER
. Il appartient au serveur Web de définir cette variable après avoir authentifié l'utilisateur distant.
Dans Mercurial, le nom d'utilisateur est comparé aux listes allow_push
et allow_read
dans la [web]
section pour déterminer si l'utilisateur est autorisé à pousser ou tirer / cloner le référentiel en question. Cela peut bien sûr être configuré sur une base par référentiel en modifiant les .hg\hgrc
fichiers dans chaque référentiel.
Excusez mon nécropostage, mais je viens de publier une version alpha de HgLab , qui est un serveur Mercurial pour Windows et qui prend en charge l'authentification Active Directory prête à l'emploi .