У меня есть виртуальный хост, который я пытаюсь заставить работать с 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
.