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

Требовать ldap-group на apache 2 vhost не работает при попытке входа в систему

У меня есть виртуальный хост, который я пытаюсь заставить работать с LDAP-аутентификацией. Моя конфигурация выглядит так:

<VirtualHost 0.0.0.0:80>
        DocumentRoot "/var/www/root/"
        ServerName myServerName
        ServerAlias http://myServerName.com/
        LogLevel debug
        ErrorLog "/var/log/apache2/svn_error_log"
        CustomLog "/var/log/apache2/svn_access_log" common

        <Directory "/var/www/root/">
                Allow from all
                DirectoryIndex index.php
        </Directory>

        <Location "/">
                AuthType Basic
                AuthBasicProvider ldap
                AuthzLDAPAuthoritative off
                AuthName "Auth"
                AuthLDAPURL "myLDAPURL"
                AuthLDAPBindDN "myLDAPBindDN"
                AuthLDAPBindPassword my-safe-password
                Require ldap-group OU=Users,OU=A,DC=B,DC=C,DC=D
        </Location>
</VirtualHost>

Когда я пытаюсь войти в систему, он отказывается от моей аутентификации и сообщает в журнале:

auth_ldap authenticate: using URL myLDAPURL
auth_ldap authenticate: accepting username
auth_ldap authorise: require group: testing for group membership in "OU=Users,OU=A,DC=B,DC=C,DC=D"
auth_ldap authorise: require group: testing for member:  CN=username,OU=Users,OU=A,DC=B,DC=C,DC=D (OU=Users,OU=A,DC=B,DC=C,DC=D)
auth_ldap authorise: require group "OU=Users,OU=A,DC=B,DC=C,DC=D": authorisation failed [Comparison no such attribute (adding to cache)][No such attribute]
auth_ldap authorise: require group: testing for uniquemember: CN=username,OU=Users,OU=A,DC=B,DC=C,DC=D (OU=Users,OU=A,DC=B,DC=C,DC=D)
auth_ldap authorise: require group "OU=Users,OU=A,DC=B,DC=C,DC=D": authorisation failed [Comparison no such attribute (adding to cache)][No such attribute]
auth_ldap authorise: declining to authorise (not authoritative)
access to / failed, reason: require directives present and no Authoritative handler.

Что я здесь делаю не так?

Я попытался AuthzLDAPAuthoritative On с тем же результатом. Также я уверен, что LDAP работает правильно, поскольку когда я только Require valid-user вместо ldap-group работает нормально.

Если вы используете Require ldap-group вместо того Require group?

Кроме того, если члены группы идентифицируются по значениям, скажем, uniquemember атрибут группы LDAP, тогда вам нужно будет добавить AuthLDAPGroupAttribute uniquemember.