Kann ich Mercurial so einrichten, dass Benutzer in Active Directory authentifiziert werden? In meinem Fall kann hg unter Windows, Linux oder FreeBSD ausgeführt werden, ich muss jedoch AD-Benutzer verwenden.
Hinweis: Wenn es möglich ist, verweisen Sie mich bitte auf ein Tutorial.
Vor ein paar Monaten habe ich einen vierteiligen Blog-Beitrag geschrieben, mit dem Sie Active Directory / IIS zum Hosten des Mercurial-Webservers verwenden können. Es funktioniert ein Vergnügen:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
Es führt Sie durch:
quelle
Ben hat Ihnen bereits eine gute Anleitung zum Einrichten von Mercurial auf IIS mit AD gegeben.
Ich möchte nur hinzufügen, dass das wichtigste, was Sie wissen müssen, ist, dass das in Mercurial integrierte (schnelle) CGI-Skript keine Benutzer authentifiziert . Das von uns bereitgestellte CGI-Skript benötigt einen Front-End-Webserver für die Authentifizierung. Sie müssen Apache, IIS, nginx usw. für die Authentifizierung einrichten, bevor sie das Skript aufrufen. (Sie können jedoch den hervorragenden RhodeCode verwenden, wenn Sie ein Bitbucket-ähnliches System mit LDAP-Unterstützung möchten, das Sie auch an AD anschließen können.)
Diese Trennung von Bedenken macht Mercurial sehr flexibel: Wenn Sie eine Active Directory-Authentifizierung wünschen, verwenden Sie einfach das Standard-Plugin für Ihren Webserver, um dies zu tun. Viele Sites werden dieses Setup bereits haben und Mercurial wird "einfach funktionieren" :-)
Mercurial überprüft also niemals Passwörter - den Authentifizierungsteil. Es kann jedoch eine Autorisierung durchführen , dh, es kann Benutzern das Drücken oder Ziehen usw. erlauben oder verbieten. Dies erfolgt auf der Grundlage des in der Standard-
REMOTE_USER
CGI-Variablen gespeicherten Benutzernamens . Es ist Sache des Webservers, diese Variable zu setzen, nachdem er den entfernten Benutzer authentifiziert hat.In Mercurial wird der Benutzername mit den Listen
allow_push
undallow_read
im[web]
Abschnitt verglichen, um festzustellen, ob der Benutzer das betreffende Repository pushen oder ziehen / klonen darf. Dies kann natürlich pro Repository konfiguriert werden, indem die.hg\hgrc
Dateien in jedem Repository bearbeitet werden.quelle
Entschuldigung, ich habe gerade eine Alpha-Version von HgLab veröffentlicht , einem Mercurial Server für Windows, der die Active Directory-Authentifizierung von Anfang an unterstützt.
quelle