Câu trả lời:
Vâng, tôi đã bắt đầu với hướng dẫn này .
Sau khi hoàn thành, tôi đã thực hiện các thay đổi bổ sung sau trên máy chủ (Windows 2008):
Cũng cần thêm các dòng sau vào .hg\hgrc
tệp của kho lưu trữ của bạn :
Về phía khách hàng, tôi phải xác định rõ tên người dùng và mật khẩu.
[web]
allow_push = *
Nếu bạn đang tìm kiếm một số hệ thống tích hợp có thể hoạt động trên windows, unix và xác thực với AD / LDAP, hãy dùng thử RhodeCode http://rhodecode.com Đây là loại ví dụ cục bộ của bitbucket / github phục vụ kho lưu trữ. Nó đi kèm với hệ thống cấp phép và quản lý người dùng dễ dàng, xem xét mã, v.v.
Tôi đã viết một bài đăng blog gồm 4 phần vài tháng trước, cho phép bạn sử dụng Active Directory / IIS để lưu trữ máy chủ web của Mercurial. Nó hoạt động một điều trị:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
Nó dẫn bạn qua:
Ben đã cung cấp cho bạn một hướng dẫn tốt để thiết lập Mercurial trên IIS bằng AD.
Tôi muốn nói thêm rằng, điều quan trọng mà bạn cần biết là tập lệnh CGI tích hợp (Nhanh) trong Mercurial không xác thực người dùng . Tập lệnh CGI mà chúng tôi cung cấp dựa trên máy chủ web mặt trước để xác thực. Vì vậy, bạn phải thiết lập Apache, IIS, nginx, ... để xác thực trước khi chúng gọi tập lệnh. (Tuy nhiên, bạn có thể sử dụng RhodeCode tuyệt vời nếu bạn muốn có một hệ thống giống như Bitbucket với hỗ trợ LDAP mà bạn cũng có thể kết nối với AD.)
Sự phân tách mối quan tâm này làm cho Mercurial rất linh hoạt: nếu bạn muốn xác thực Active Directory, thì bạn chỉ cần sử dụng plugin tiêu chuẩn cho máy chủ web của mình để làm điều đó. Nhiều trang web đã có thiết lập này và vì vậy Mercurial sẽ "chỉ hoạt động" :-)
Vì vậy, Mercurial không bao giờ kiểm tra bất kỳ mật khẩu nào - phần xác thực. Nhưng nó có thể ủy quyền , nghĩa là nó có thể cho phép hoặc cấm người dùng đẩy hoặc kéo, v.v. Điều này được thực hiện dựa trên tên người dùng được lưu trữ trong biến CGI tiêu chuẩnREMOTE_USER
. Tùy thuộc vào máy chủ web để đặt biến này sau khi đã xác thực người dùng từ xa.
Trong Mercurial, tên người dùng được khớp với allow_push
và allow_read
liệt kê trong [web]
phần để xác định xem người dùng có được phép đẩy hoặc kéo / sao chép kho lưu trữ được đề cập hay không. Điều này tất nhiên có thể được cấu hình trên cơ sở mỗi kho lưu trữ bằng cách chỉnh sửa các .hg\hgrc
tệp trong mỗi kho lưu trữ.
Xin lỗi, tôi đã phát hành phiên bản alpha của HgLab , đó là Máy chủ Mercurial cho Windows và nó hỗ trợ xác thực Active Directory ngoài hộp.