Antworten:
Nun, ich habe mit diesem Tutorial angefangen .
Nachdem ich fertig bin, habe ich die folgenden zusätzlichen Änderungen am Server vorgenommen (Windows 2008):
Außerdem müssen Sie die folgenden Zeilen zur Repository- .hg\hgrc
Datei hinzufügen :
Auf der Clientseite musste ich Benutzername und Passwort explizit angeben.
[web]
allow_push = *
Wenn Sie für einige integrierte System suchen, die auf Windows, Unix arbeiten können, und beglaubigen zu AD / LDAP ausprobieren RhodeCode http://rhodecode.com Es ist eine Art lokale Instanz von bitbucket / GitHub , die Repositorys dient. Es wird mit einem Berechtigungssystem und einfacher Benutzerverwaltung, Codeüberprüfung usw. geliefert.
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:
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
und allow_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.
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.