Mercurial (hg) avec répertoire actif

15

Puis-je configurer Mercurial pour authentifier les utilisateurs sur Active Directory? Dans mon cas, hg peut fonctionner sur Windows, Linux ou FreeBSD, mais je dois utiliser des utilisateurs AD.

Remarque: si c'est possible, veuillez me diriger vers un tutoriel.

Zote
la source

Réponses:

11

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\hgrcfichier 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 = *
Régent
la source
5

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.

marcinkuzminski
la source
Ouais pour RhodeCode! :-)
Martin Geisler
4

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:

  • Mise en place de Mercurial dans IIS
  • Configuration des extensions ISAPI pour Python
  • Réécriture ISAPI pour masquer les URL laides
  • Configuration des privilèges de sécurité à l'aide d'Active Directory
  • Personnalisation de l'interface utilisateur Web
BenAlabaster
la source
+1, grands articles de blog. Nous pilotons Mercurial pour nos projets Windows et Linux. Avez-vous des chances de mettre à jour ce guide pour IIS 7.5?
jscott
Je serai une fois que j'arriverai à mettre à niveau mon serveur.
BenAlabaster
3

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_pushet allow_readdans 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\hgrcfichiers dans chaque référentiel.

Martin Geisler
la source