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.

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 = *

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.


¡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

+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.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.