Apache + LDAP Auth:访问 / 失败,原因:需要存在指令并且没有权威处理程序

Apache + LDAP Auth:访问 / 失败,原因:需要存在指令并且没有权威处理程序

无法解决这个问题,这是我的.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

相关内容