Einstellen von Mercurial mit Active Directory-Authentifizierung und -Autorisierung


19

Ich prüfe die Möglichkeiten, mein Unternehmen auf Mercurial zu verlagern, stoße jedoch auf zwei grundlegende Anforderungen, auf die ich keine richtigen Hinweise finde.

Wie richte ich das zentrale Mercurial-Repository ein, um Benutzer mit dem zentralen Active Directory zu authentifizieren und ihnen nur das Push- oder Pull-Verfahren zu ermöglichen, wenn sie über die richtigen Anmeldeinformationen verfügen?

Wie richte ich ein Mercurial-Projekt-Repository ein, damit nur Benutzer einer bestimmten Gruppe Quellcode pushen / ziehen können? Wir benötigen diese Berechtigung pro Projekt.

Auf welchen HTTP-Servern (IIS oder Apache usw.) werden die beiden oben genannten Anforderungen unterstützt?

Entschuldigung, wenn ich etwas Offensichtliches frage oder etwas Grundlegendes über die Funktionsweise von Authentifizierung und Autorisierung vermisse.


Antworten:


6

Ich habe einen vierteiligen Blog-Beitrag zum Einrichten von Mercurial für IIS mit Active Directory-Authentifizierung und unter Verwendung von hgwebdir.cgi für die Push-Autorisierung verfasst. Es geht über den gesamten Prozess von:

  • Einrichten der hg-Weboberfläche von Mercurial auf IIS.
  • Einrichten der IIS-Authentifizierung für Mercurial, sodass nur vom Active Directory autorisierte Benutzer (dh Sicherheitsgruppen / Benutzer) die Repositorys entweder über die hg-Webschnittstelle oder über das Dateisystem anzeigen bzw. darauf zugreifen können.
  • Konfigurieren der Active Directory-Authentifizierung für Mercurial-Benutzer, sodass nur autorisierte Benutzer die Repositorys sehen / darauf zugreifen können, auf die sie Zugriff haben.
  • Konfigurieren von hgwebdir.cgi über hgweb.config, um die Push-Autorisierung für bestimmte Benutzer für Repositorys festzulegen.
  • Ausblenden von hgwebdir.cgi mithilfe von ISAPI Rewrite von Helicon in der URL Ihres Repositorys.
  • Anpassen des Stils / der Haptik der hg-Webbenutzeroberfläche nach Ihrem Geschmack.

http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html

Ich hoffe, es ist nützlich für die Menschen ...


4

Du kannst es mit Apache machen. Überprüfen Sie, wie Sie das Pushen in Apache einschränken können:

http://mercurial.selenic.com/wiki/PublishingRepositories#pushing

Schauen Sie sich in derselben Datei an, wie Sie mercurial, seine Berechtigungen und alle von Apache zugelassenen Benutzer konfigurieren.

Nachdem Sie mercurial und Apache eingerichtet haben, können Sie mit mod_authnz_ldap nur den Zugriff auf Active Directory-Benutzer zulassen:

http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html

Vergessen Sie nicht, den Abschnitt zur Active Directory-Konfiguration zu lesen.

Das sollte dir reichen.

Viel Glück,
João Miguel Neves


Mit authnz_ldap werden Passwörter unverschlüsselt zwischen dem Client und Apache übertragen. Ich versuche herauszufinden, wie ich das vermeiden kann, aber ich habe nicht viel Glück.
LeBleu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.