Đặt Mercurial với xác thực và ủy quyền Active Directory


19

Tôi đang đánh giá các khả năng chuyển tổ chức của mình sang Mercurial, tuy nhiên tôi đang vấp phải hai yêu cầu cơ bản mà tôi không thể tìm thấy con trỏ thích hợp.

Làm cách nào để tôi thiết lập kho lưu trữ trung tâm của Mercurial để xác thực người dùng bằng Active Directory trung tâm và chỉ cho phép họ đẩy hoặc kéo nếu họ có thông tin xác thực đúng?

Làm cách nào để thiết lập kho lưu trữ dự án Mercurial để chỉ cho phép người dùng liên quan đến một nhóm cụ thể để đẩy / kéo mã nguồn? Chúng tôi cần điều này để có ủy quyền cho mỗi dự án.

Trên đó máy chủ HTTP (IIS hoặc Apache, v.v.) là hai yêu cầu trên được hỗ trợ?

Xin lỗi nếu tôi hỏi điều gì đó rõ ràng hoặc nếu tôi thiếu điều gì đó cơ bản về cách xác thực và ủy quyền hoạt động.


Câu trả lời:


6

Tôi đã thực hiện một bài đăng blog gồm bốn phần để thiết lập Mercurial trên IIS với xác thực Active Directory và sử dụng hgwebdir.cgi để cấp quyền đẩy. Nó đi qua toàn bộ quá trình:

  • Thiết lập giao diện web hg của Mercurial trên IIS.
  • Thiết lập xác thực IIS cho Mercurial để chỉ những người dùng được ủy quyền bởi thư mục hoạt động (tức là nhóm / người dùng bảo mật) mới có thể xem / truy cập kho lưu trữ thông qua giao diện web hg hoặc thông qua hệ thống tệp.
  • Định cấu hình xác thực Active Directory cho người dùng Mercurial, vì vậy chỉ những người dùng được ủy quyền mới có thể xem / truy cập kho lưu trữ mà họ có quyền truy cập.
  • Định cấu hình hgwebdir.cgi qua hgweb.config để đặt ủy quyền đẩy cho người dùng được chỉ định vào kho lưu trữ.
  • Ẩn hgwebdir.cgi bằng cách sử dụng Viết lại ISAPI của Helicon trong URL của kho lưu trữ của bạn.
  • Tùy chỉnh phong cách / cảm nhận của giao diện người dùng web hg theo sở thích của riêng bạn.

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

Tôi hy vọng nó hữu ích cho mọi người ...


4

Bạn có thể làm điều đó với Apache. Kiểm tra cách hạn chế đẩy trong Apache tại:

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

Có vẻ như trên cùng một tệp về cách định cấu hình đồng bóng, quyền của nó và tất cả người dùng được Apache cho phép.

Sau khi bạn thiết lập mercurial và Apache, bạn có thể sử dụng mod_authnz_ldap để chỉ cho phép truy cập vào người dùng Active Directory:

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

Đừng quên kiểm tra đoạn trên cấu hình Active Directory.

Điều đó là đủ cho bạn.

Chúc may mắn nhất,
João Miguel Neves


Sử dụng authnz_ldap truyền mật khẩu không được mã hóa giữa máy khách và Apache. Tôi đang cố gắng tìm ra cách để tránh điều đó, nhưng không gặp nhiều may mắn.
LeBleu
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.