Mercurial (hg) con directorio activo

15

¿Puedo configurar Mercurial para autenticar usuarios en Active Directory? En mi caso, hg puede ejecutarse en Windows, Linux o FreeBSD, pero necesito usar usuarios de AD.

Nota: si es posible, indíqueme un tutorial.

Zote
fuente

Respuestas:

11

Bueno, empecé con este tutorial.

Después de terminar, hice los siguientes cambios adicionales en el servidor (Windows 2008):

  • IIS configurado para usar SSL;
  • Autenticación anónima deshabilitada para el sitio;
  • Habilitado la autenticación básica y de Windows para el sitio;
  • Permisos NTFS configurados en la carpeta del repositorio.

También debe agregar las siguientes líneas al .hg\hgrcarchivo de su repositorio :

En el lado del cliente, tuve que especificar explícitamente el nombre de usuario y la contraseña.

[web]
allow_push = *
Regente
fuente
5

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.

marcinkuzminski
fuente
¡Yay por RhodeCode! :-)
Martin Geisler
4

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:

  • Configuración de Mercurial dentro de IIS
  • Configurar las extensiones ISAPI para Python
  • ISAPI reescribe para ocultar URLs feas
  • Configuración de privilegios de seguridad utilizando Active Directory
  • Personalización de la interfaz de usuario web
BenAlabastro
fuente
+1, excelentes publicaciones de blog. Estamos probando Mercurial para nuestros proyectos de Windows y Linux. ¿Hay alguna posibilidad de que actualice esta guía para IIS 7.5?
jscott
Lo estaré una vez que llegue a actualizar mi servidor.
BenAlabaster
3

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_pushy allow_readen 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\hgrcarchivos en cada repositorio.

Martin Geisler
fuente