Mercurial (hg) z active directory

15

Czy mogę skonfigurować Mercurial do uwierzytelniania użytkowników w Active Directory? W moim przypadku hg może działać w systemie Windows, Linux lub FreeBSD, ale potrzebuję użytkowników AD.

Uwaga: jeśli to możliwe, proszę skieruj mnie do samouczka.

Zote
źródło

Odpowiedzi:

11

Zacząłem od tego samouczka.

Po zakończeniu wprowadziłem następujące dodatkowe zmiany na serwerze (Windows 2008):

  • Skonfigurowane usługi IIS do korzystania z protokołu SSL;
  • Wyłączono anonimowe uwierzytelnianie witryny;
  • Włączone uwierzytelnianie podstawowe i Windows dla witryny;
  • Skonfigurowane uprawnienia NTFS do folderu repozytorium.

Musisz również dodać następujące wiersze do .hg\hgrcpliku repozytorium :

Po stronie klienta musiałem wyraźnie określić nazwę użytkownika i hasło.

[web]
allow_push = *
Regent
źródło
5

Jeśli szukasz zintegrowanego systemu, który może działać w systemie Windows, Unix i uwierzytelniać się w AD / LDAP, wypróbuj RhodeCode http://rhodecode.com To rodzaj lokalnej instancji bitbucket / github, która obsługuje repozytoria. Pochodzi z systemem uprawnień i łatwym zarządzaniem użytkownikami, przeglądem kodu itp.

marcinkuzminski
źródło
Tak dla RhodeCode! :-)
Martin Geisler
4

Kilka miesięcy temu napisałem 4-częściowy post na blogu, który pozwala używać Active Directory / IIS do hostowania serwera WWW Mercurial. Działa uczta:

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

Przeprowadzi Cię przez:

  • Konfiguracja Mercurial w IIS
  • Konfigurowanie rozszerzeń ISAPI dla Pythona
  • Przepisywanie ISAPI w celu ukrycia brzydkich adresów URL
  • Konfiguracja uprawnień bezpieczeństwa za pomocą usługi Active Directory
  • Dostosowywanie internetowego interfejsu użytkownika
BenAlabaster
źródło
+1, świetne wpisy na blogu. Pilotujemy Mercurial zarówno dla naszych projektów Windows, jak i Linux. Jakieś szanse, że zaktualizujesz ten przewodnik dla IIS 7.5?
jscott
Będę, gdy tylko przejdę do aktualizacji mojego serwera.
BenAlabaster
3

Ben już dał ci dobry przewodnik na temat konfigurowania Mercurial na IIS z AD.

Chciałbym tylko dodać, że kluczową rzeczą, którą musisz wiedzieć, jest to, że wbudowany (szybki) skrypt CGI w Mercurial nie uwierzytelnia użytkowników . Dostarczony przez nas skrypt CGI korzysta z serwera front-end do uwierzytelnienia. Musisz więc skonfigurować Apache, IIS, nginx, ... aby wykonać uwierzytelnianie przed wywołaniem skryptu. (Możesz jednak użyć doskonałego RhodeCode, jeśli chcesz system podobny do Bitbucket z obsługą LDAP, którą możesz podłączyć również do AD.)

Ten podział problemów sprawia, że ​​Mercurial jest bardzo elastyczny: jeśli chcesz uwierzytelniać się w Active Directory, po prostu użyj do tego standardowej wtyczki dla swojego serwera. Wiele stron będzie już miało tę konfigurację, więc Mercurial „po prostu zadziała” :-)

Dlatego Mercurial nigdy nie sprawdza żadnych haseł - części uwierzytelniającej. Ale może dokonać autoryzacji , co oznacza, że ​​może zezwolić lub zabronić użytkownikom pchania lub ciągnięcia itp. Odbywa się to na podstawie nazwy użytkownika przechowywanej w standardowej REMOTE_USERzmiennej CGI . Serwer WWW musi ustawić tę zmienną po uwierzytelnieniu użytkownika zdalnego.

W Mercurial nazwa użytkownika jest dopasowana do allow_pushallow_read list i w [web]sekcji, aby ustalić, czy użytkownik może przesuwać lub ciągnąć / klonować dane repozytorium. Można to oczywiście skonfigurować dla poszczególnych repozytoriów, edytując .hg\hgrcpliki w każdym repozytorium.

Martin Geisler
źródło