不能解决这个问题,这是我的.htaccess:
AuthPAM_Enabledclosures AuthType基本 AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthName“MESSAGE” 要求ldap-group cn = CHANGED,cn = CHANGED AuthLDAPURL“ldap:// localhost / dc = CHANGED,dc = CHANGED?uid?sub?(objectClass = posixAccount)” AuthLDAPBindDN已更改 AuthLDAPBindPassword CHANGED AuthLDAPGroupAttribute memberUid
AuthLDAPURL是正确的,BindDN和BindPassword也是正确的(用ldapvi -D ..validation)。
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
EDIT2:
解决它通过改变时髦
要求ldap-group cn = CHANGED,cn = CHANGED
与…一致
要求有效的用户
由于AuthzLDAPAuthoritative处于打开状态,因此不会使用其他auth方法,并且将通过LDAPvalidation有效用户要求。 (对? :/)
您的'需求'行读取
要求ldap-group cn = CHANGED,cn = CHANGED
这不看起来写 – 我不相信你可以在这样的DN有两个cn。
对于我和apache 2.2.14来说,这个工作就像一个基于每个组的访问控制的冠军
AuthType基本 AuthName“仅用于IT的秘密区域” AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthLDAPGroupAttributeIsDNclosures AuthLDAPGroupAttribute memberUid AuthLDAPURL“ldap://ldap1.example.int ldap2.company.int/cn=int” 需要ldap-group cn = it,ou =组,o = int
“int”是我们非公有服务器的内部域。
你是否启用了ldap和authnz_ldap模块?
你可以这样做:
a2enmod ldap authnz_ldap; /etc/init.d/apache2 restart