Mercurial (hg) với thư mục hoạt động


15

Tôi có thể thiết lập Mercurial để xác thực người dùng trên Active Directory không? Trong trường hợp của tôi, hg có thể chạy trên Windows, Linux hoặc FreeBSD, nhưng tôi cần sử dụng người dùng AD.

Lưu ý: nếu có thể, xin vui lòng chỉ cho tôi một hướng dẫn.

Câu trả lời:


11

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ấu hình IIS để sử dụng SSL;
  • Vô hiệu hóa xác thực ẩn danh cho trang web;
  • Đã bật xác thực Basic và Windows cho trang web;
  • Cấu hình quyền NTFS trên thư mục kho lưu trữ.

Cũng cần thêm các dòng sau vào .hg\hgrctệ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 = *

5

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.


Yay cho RhodeCode! :-)
Martin Geisler

4

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:

  • Thiết lập Mercurial trong IIS
  • Định cấu hình các tiện ích mở rộng ISAPI cho Python
  • ISAPI viết lại để ẩn các URL xấu xí
  • Cấu hình đặc quyền bảo mật bằng Active Directory
  • Tùy biến giao diện người dùng web

+1, bài đăng trên blog tuyệt vời. Chúng tôi đang thử nghiệm Mercurial cho cả các dự án Windows và Linux của chúng tôi. Bất kỳ cơ hội nào bạn sẽ cập nhật hướng dẫn này cho IIS 7.5?
jscott

Tôi sẽ có một khi tôi đi xung quanh để nâng cấp máy chủ của mình.
BenAlabaster

3

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_pushallow_readliệ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\hgrctệp trong mỗi kho lưu trữ.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.