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):
- IIS configuré pour utiliser SSL;
- Authentification anonyme désactivée pour le site;
- Activation de l'authentification de base et Windows pour le site;
- Autorisations NTFS configurées sur le dossier du référentiel.
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 = *
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:
la source
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 standard
REMOTE_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
etallow_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.la source
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 .
la source