Respuestas:
Bueno, empecé con este tutorial.
Después de terminar, hice los siguientes cambios adicionales en el servidor (Windows 2008):
También debe agregar las siguientes líneas al .hg\hgrc
archivo de su repositorio :
En el lado del cliente, tuve que especificar explícitamente el nombre de usuario y la contraseña.
[web]
allow_push = *
Si está buscando un sistema integrado que pueda funcionar en Windows, Unix y autenticar en AD / LDAP, pruebe RhodeCode http://rhodecode.com. Es una especie de instancia local de bitbucket / github que sirve repositorios. Viene con un sistema de permisos y una fácil administración de usuarios, revisión de código, etc.
Escribí una publicación de blog de 4 partes hace un par de meses que le permite usar Active Directory / IIS para alojar el servidor web de Mercurial. Funciona de maravilla:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
Te guía a través de:
Ben ya le dio una buena guía para configurar Mercurial en IIS con AD.
Solo me gustaría agregar que la clave que necesita saber es que el script CGI (rápido) incorporado en Mercurial no autentica a los usuarios . El script CGI que suministramos se basa en un servidor web front-end para realizar la autenticación. Por lo tanto, debe configurar Apache, IIS, nginx, ... para realizar la autenticación antes de que invoquen el script. (Sin embargo, puede usar el excelente RhodeCode si desea un sistema similar a Bitbucket con soporte LDAP que también puede conectar a AD).
Esta separación de preocupaciones hace que Mercurial sea muy flexible: si desea la autenticación de Active Directory, simplemente use el complemento estándar para que su servidor web lo haga. Muchos sitios ya tendrán esta configuración, por lo que Mercurial "simplemente funcionará" :-)
Por lo tanto, Mercurial nunca verifica ninguna contraseña: la parte de autenticación. Pero puede hacer una autorización , lo que significa que puede permitir o prohibir a los usuarios empujar o tirar, etc. Esto se hace en función del nombre de usuario almacenado en la variable CGI estándarREMOTE_USER
. Depende del servidor web establecer esta variable después de que haya autenticado al usuario remoto.
En Mercurial, el nombre de usuario se compara con las listas allow_push
y allow_read
en la [web]
sección para determinar si el usuario puede empujar o extraer / clonar el repositorio en cuestión. Por supuesto, esto se puede configurar por repositorio editando los .hg\hgrc
archivos en cada repositorio.
Disculpe mi necropostura, pero acabo de lanzar una versión alfa de HgLab , que es un servidor Mercurial para Windows y es compatible con la autenticación de Active Directory de fábrica .