Odpowiedzi:
Zacząłem od tego samouczka.
Po zakończeniu wprowadziłem następujące dodatkowe zmiany na serwerze (Windows 2008):
Musisz również dodać następujące wiersze do .hg\hgrc
pliku repozytorium :
Po stronie klienta musiałem wyraźnie określić nazwę użytkownika i hasło.
[web]
allow_push = *
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.
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:
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_USER
zmiennej CGI . Serwer WWW musi ustawić tę zmienną po uwierzytelnieniu użytkownika zdalnego.
W Mercurial nazwa użytkownika jest dopasowana do allow_push
allow_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\hgrc
pliki w każdym repozytorium.
Przepraszam za nekropolię, ale właśnie wypuściłem wersję alfa HgLab , który jest Mercurial Server dla Windows i obsługuje natychmiastowe uwierzytelnianie Active Directory.