Risposte:
Bene, ho iniziato con questo tutorial.
Dopo aver terminato che ho apportato le seguenti modifiche aggiuntive sul server (Windows 2008):
È inoltre necessario aggiungere le seguenti righe al .hg\hgrc
file del repository :
Sul lato client ho dovuto specificare esplicitamente username e password.
[web]
allow_push = *
Se stai cercando un sistema integrato in grado di funzionare su Windows, unix e autenticarti su AD / LDAP, prova RhodeCode http://rhodecode.com È una specie di istanza locale di bitbucket / github che serve repository. Viene fornito con sistema di autorizzazione e facile gestione degli utenti, revisione del codice ecc.
Un paio di mesi fa ho scritto un post sul blog in 4 parti che consente di utilizzare Active Directory / IIS per ospitare il server Web di Mercurial. Funziona a meraviglia:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
Ti guida attraverso:
Ben ti ha già fornito una buona guida per configurare Mercurial su IIS con AD.
Vorrei solo aggiungere che la cosa chiave che devi sapere è che lo script CGI (Fast) incorporato in Mercurial non autentica gli utenti . Lo script CGI che forniamo si basa su un server Web front-end per eseguire l'autenticazione. Quindi è necessario configurare Apache, IIS, nginx, ... per eseguire l'autenticazione prima che invochino lo script. (Tuttavia, puoi usare l'eccellente RhodeCode se vuoi un sistema simile a Bitbucket con supporto LDAP che puoi collegare anche ad AD.)
Questa separazione delle preoccupazioni rende Mercurial molto flessibile: se si desidera l'autenticazione di Active Directory, utilizzare semplicemente il plug-in standard per il proprio server Web. Molti siti avranno già questa configurazione e quindi Mercurial "funzionerà" :-)
Quindi Mercurial non controlla mai alcuna password: la parte di autenticazione. Ma può fare l' autorizzazione , nel senso che può consentire o vietare agli utenti di spingere o tirare, ecc. Questo viene fatto in base al nome utente memorizzato nella variabile CGI standardREMOTE_USER
. Spetta al server web impostare questa variabile dopo aver autenticato l'utente remoto.
In Mercurial, il nome utente viene confrontato con gli elenchi allow_push
e allow_read
nella [web]
sezione per determinare se l'utente è autorizzato a spingere o estrarre / clonare il repository in questione. Questo può ovviamente essere configurato in base al repository modificando i .hg\hgrc
file in ciascun repository.
Scusa il mio necropostaggio, ma ho appena rilasciato una versione alfa di HgLab , che è un server Mercurial per Windows e supporta l'autenticazione di Active Directory immediatamente .