Tôi có một bộ kho Subversion riêng tư trên hộp Windows Server 2003 mà nhà phát triển truy cập qua SVNServe qua giao thức svn: //. Hiện tại chúng tôi đang sử dụng các tệp authz và passwd cho mỗi kho lưu trữ để kiểm soát quyền truy cập, tuy nhiên với số lượng kho lưu trữ và nhà phát triển ngày càng tăng tôi đang xem xét chuyển sang sử dụng thông tin đăng nhập của họ từ ActiveDirectory. Chúng tôi chạy trong tất cả các cửa hàng của Microsoft và sử dụng IIS thay vì Apache trên tất cả các máy chủ web của chúng tôi vì vậy tôi muốn tiếp tục sử dụng SVNServe nếu có thể.
Ngoài ra, tôi cũng quan tâm đến cách di chuyển kho lưu trữ của chúng tôi để lịch sử của người dùng hiện tại ánh xạ tới các tài khoản ActiveDirectory chính xác. Hãy nhớ rằng tôi không phải là quản trị viên mạng và tôi không quen thuộc lắm với ActiveDirectory nên có lẽ tôi sẽ phải thông qua một số người khác để nhận các thay đổi được thực hiện trong ActiveDirectory nếu cần.
Những lựa chọn của tôi là gì?
CẬP NHẬT 1: Xuất hiện từ tài liệu SVN rằng bằng cách sử dụng SASL, tôi có thể có được SVNServe để xác thực bằng ActiveDirectory. Để làm rõ, câu trả lời mà tôi đang tìm kiếm là cách cấu hình SVNServe (nếu có thể) để sử dụng ActiveDirectory để xác thực và sau đó làm thế nào để sửa đổi kho lưu trữ hiện có để ánh xạ lại người dùng svn hiện tại vào tài khoản đăng nhập miền ActiveDirectory của họ.
CẬP NHẬT 2: Dường như hỗ trợ SASL trong SVNServe hoạt động theo mô hình plugin và tài liệu chỉ hiển thị làm ví dụ. Nhìn vào Thư viện Cyrus SASL, có vẻ như một số "cơ chế" xác thực được hỗ trợ nhưng tôi không chắc chắn cái nào sẽ được sử dụng cho hỗ trợ ActiveDirectory cũng như tôi không thể tìm thấy bất kỳ tài liệu nào về các vấn đề đó.
CẬP NHẬT 3: Ok, có vẻ như để liên lạc với ActiveDirectory, tôi đang tìm cách sử dụng saslauthd thay vì sasldb cho thuộc tính auxprop_plugin . Thật không may, theo một số bài đăng (có thể lỗi thời và không chính xác) saslauthd không xây dựng trên Windows và những nỗ lực như vậy được coi là một công việc đang tiến triển .
CẬP NHẬT 4: Bài đăng mới nhất tôi tìm thấy về chủ đề này nghe có vẻ như các tệp nhị phân thích hợp () có sẵn thông qua Thư viện MIT Kerberos nhưng có vẻ như tác giả của bài đăng này trên Nabble.com vẫn gặp sự cố khi mọi thứ hoạt động. .
CẬP NHẬT 5: Có vẻ như từ các cuộc thảo luận của TortoiseSVN và bài đăng này trên svn.haxx.serằng ngay cả khi saslgssapi.dll hoặc bất kỳ nhị phân cần thiết nào có sẵn và được định cấu hình trên máy chủ Windows thì máy khách cũng sẽ cần tùy chỉnh tương tự để hoạt động với các kho lưu trữ này. Nếu điều này là đúng, chúng tôi sẽ chỉ có thể nhận được hỗ trợ ActiveDirectory từ máy khách windows nếu các thay đổi được thực hiện trong các máy khách này như TortoiseSVN và CollabNet xây dựng các nhị phân máy khách để hỗ trợ các lược đồ xác thực đó. Mặc dù đó là những gì các bài đăng này đề xuất, nhưng điều này trái ngược với những gì tôi ban đầu giả định từ việc đọc khác trong đó là tương thích với SASL nên không yêu cầu thay đổi trên máy khách mà chỉ cần máy chủ được thiết lập để xử lý cơ chế xác thực. Sau khi đọc kỹ hơn một chút trong tài liệu về Cyrus SASL trong Subversionphần 5 nêu rõ "1.5+ máy khách có hỗ trợ Cyrus SASL sẽ có thể xác thực với hơn 1,5 máy chủ có bật SASL, được cung cấp ít nhất một trong các cơ chế được máy chủ hỗ trợ." Vì vậy, rõ ràng hỗ trợ GSSAPI (mà tôi hiểu là cần thiết cho Active Directory) phải có sẵn trong máy khách và máy chủ.
Tôi phải nói rằng, tôi đang học quá nhiều về nội bộ về cách Subversion xử lý xác thực hơn tôi từng muốn. Thật không may, tôi chỉ đơn giản là tìm kiếm một câu trả lời về việc liệu tôi có thể có hỗ trợ xác thực Active Directory hay không khi sử dụng SVNServe trên máy chủ Windows và truy cập thông tin này từ các máy khách Windows. Theo tài liệu chính thức, có vẻ như điều này là có thể tuy nhiên bạn có thể thấy rằng cấu hình là không tầm thường nếu thậm chí có thể.
CẬP NHẬT: 6: Kể từ khi phát triển trên Subversion 1.7, mọi người có thể thêm bất cứ điều gì về việc liệu Subversion 1.7 sẽ cải thiện tình hình để SVNServe xác thực bằng Active Directory không?