无法解决这个问题,这是我的.htaccess:
AuthPAM_Enabled 关闭 AuthType 基本版 AuthBasicProvider ldap AuthzLDAP授权 授权名称“MESSAGE” 需要 ldap-group cn=CHANGED,cn=CHANGED AuthLDAPURL “ldap://localhost/dc=CHANGED,dc=CHANGED?uid?sub?(objectClass=posixAccount)” AuthLDAPBindDN 已更改 AuthLDAPBind密码已更改 AuthLDAPGroupAttribute 成员Uid
AuthLDAPURL 正确,BindDN 和 BindPassword 也正确(用 ldapvi -D 验证...)。
Apache 版本:Apache/2.2.9 (Debian)
该错误消息对我来说似乎很神秘,我已打开 AuthzLDAPAuthoritative,那么问题出在哪里。
编辑:
LDAP 模块已加载,问题不在于它们缺失。
# ls /etc/apache2/mods-enabled/*ldap* /etc/apache2/mods-enabled/authnz_ldap.load /etc/apache2/mods-enabled/ldap.load
编辑2:
通过改变 funky 解决了这个问题
需要 ldap-group cn=CHANGED,cn=CHANGED
符合
需要有效用户
由于 AuthzLDAPAuthoritative 已打开,因此不会使用其他身份验证方法,并且有效用户要求将通过 LDAP 进行身份验证。(对吗?:/)
答案1
您的“要求”行内容如下
需要 ldap-group cn=CHANGED,cn=CHANGED
这看起来不对 — — 我不相信在这样的 DN 中可以有两个 cn。
答案2
对于我和 apache 2.2.14 来说,这就像每个组基础上的访问控制一样有效
AuthType 基本版 AuthName“仅供 IT 使用的秘密区域” AuthBasicProvider ldap AuthzLDAP授权 AuthLDAPGroupAttributeIsDN 关闭 AuthLDAPGroupAttribute 成员Uid AuthLDAPURL“ldap://ldap1.example.int ldap2.company.int/cn=int” 需要 ldap-group cn=it,ou=Groups,o=int
“int” 是我们非公共服务器的内部域名。
答案3
您是否已启用LDAP 目录服务和authnz_ldap模块?
您可以使用以下方式进行操作:
a2enmod ldap authnz_ldap; /etc/init.d/apache2 restart