apache auth: sự kết hợp giữa LDAP và htpasswd


11

Chúng tôi đang sử dụng Apache với mod_svn để phục vụ repo lật đổ. Apache được nối với một máy chủ LDAP để tất cả người dùng có thể sử dụng mật khẩu tên miền của họ. Để máy dựng có thể thanh toán, tôi muốn có thêm người dùng, nhưng tôi không thể thêm qua LDAP.

Tôi có thể tạo một thiết lập trong đó người dùng / pwd phải khớp với máy chủ LDAP hoặc tệp htpasswd không?

Câu trả lời:


8

thử đi:

AuthType Basic
AuthName "LDAP and file
AuthBasicProvider file ldap
AuthUserFile /path/to/htpassword/file
AuthLDAPBindDN <your bind dn>
AuthLDAPBindPassword <your password>
AuthLDAPURL "<your ldap url>"
AuthzLDAPAuthoritative off
Require valid-user
Satisfy any

Có lẽ bạn chuyển AuthBasicProvider file ldapsang AuthBasicProvider ldap file, tùy thuộc vào nơi bạn muốn tìm kiếm đầu tiên.


FWIW, "Thỏa mãn bất kỳ" trong conf dẫn đến không có auth nào cả, khi tôi đã thử nó. Mặc dù vậy, việc loại bỏ "Đáp ứng bất kỳ" mang lại kết quả mong muốn / mong muốn.
Keith

2

Nếu bạn cũng cần kiểm tra xem người dùng có thuộc nhóm LDAP cụ thể không, bạn có thể sử dụng như sau:

AuthType Basic
AuthName "LDAP and file"
AuthBasicProvider file ldap
AuthUserFile /path/to/htpassword/file
AuthLDAPBindDN <your bind dn>
AuthLDAPBindPassword <your password>
AuthLDAPURL "<your ldap url>"
AuthzLDAPAuthoritative off

AuthLDAPGroupAttributeIsDN off
AuthLDAPGroupAttribute memberUid
Require valid-user
Require ldap-group cn=svn,cn=groups,dc=ldapsvr,dc=example,dc=com

1
(Tôi biết điều này đã 5 tuổi nhưng có vẻ sai) Theo tài liệu, tất cả các bộ điều khiển Yêu cầu được coi là một phần của khối RequireAny nếu không nằm trong một khối. Sử dụng cái này, cái của bạn Require ldap-groupbị bỏ qua
mveroone
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.