apache auth:LDAP和htpasswd的组合


11

我们将Apache与mod_svn一起使用以服务于Subversion仓库。Apache已挂接到LDAP服务器,因此所有用户都可以使用其域密码。为了使构建机器能够签出,我想拥有一个额外的用户,但是我无法通过LDAP添加。

是否可以创建用户/密码必须与LDAP服务器或htpasswd文件匹配的设置?

Answers:


8

尝试这个:

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

也许您要切换AuthBasicProvider file ldapAuthBasicProvider ldap file,这取决于您首先要搜索的位置。


FWIW,当我尝试时,conf中的“满足任何条件”根本没有身份验证。但是,删除“满足任何条件”会产生预期/期望的结果。
基思

2

如果还需要检查该用户是否在特定的LDAP组中,则可以使用以下命令:

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
(我知道这已经有5年了,但这似乎是错误的)。根据文档,所有Require Directoves都视为RequireAny块的一部分,如果不在块中。使用此方法,您将Require ldap-group被忽略
mveroone
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.