Назад | Перейти на главную страницу

Apache + LDAP Auth: доступ / сбой, причина: требуются директивы и нет авторитетного обработчика

Не могу решить эту проблему, вот мой .htaccess:

AuthPAM_Enabled Off

AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthName "MESSAGE"
Require ldap-group cn=CHANGED, cn=CHANGED

AuthLDAPURL "ldap://localhost/dc=CHANGED,dc=CHANGED?uid?sub?(objectClass=posixAccount)"
AuthLDAPBindDN CHANGED
AuthLDAPBindPassword CHANGED
AuthLDAPGroupAttribute memberUid

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:

Решил, изменив фанк

Require ldap-group cn=CHANGED, cn=CHANGED

линия с

Require valid-user

Поскольку AuthzLDAPAuthoritative включен, никакие другие методы аутентификации использоваться не будут, и требование действительного пользователя будет аутентифицироваться через LDAP. (право? :/)

Ваша строка «Требовать» гласит

Требовать ldap-group cn = CHANGED, cn = CHANGED

Это не похоже на написание - я не верю, что в таком DN может быть два cn.

Для меня и apache 2.2.14 это работает как чемпион по контролю доступа для каждой группы.

AuthType Basic
AuthName "Secret Area for IT Only"
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthLDAPGroupAttributeIsDN off
AuthLDAPGroupAttribute memberUid
AuthLDAPURL "ldap://ldap1.example.int ldap2.company.int/cn=int"
Require ldap-group cn=it,ou=Groups,o=int

«int» - это наш внутренний домен для закрытых серверов.

Включили ли вы ldap и authnz_ldap модули?

Вы можете сделать это с помощью:

a2enmod ldap authnz_ldap; /etc/init.d/apache2 restart