#apache #ldap #active-directory-group
#apache #ldap #active-directory-group
Вопрос:
У меня есть ограниченный раздел веб-сайта, который я хочу ограничить двумя группами LDAP. Вот соответствующие строки из httpd.conf:
<AuthnProviderAlias ldap our-ldap>
AuthLDAPBindDN CN=example,OU=example,OU=example,DC=example,DC=com
AuthLDAPBindPassword LamePassword
AuthLDAPURL ldaps://dc4.example.com:636/dc=example,dc=com?sAMAccountName?sub
AuthLDAPGroupAttributeIsDN on
</AuthnProviderAlias>
<Directory /var/www/html/restricted>
Order deny,allow
Allow from all
AuthBasicProvider our-ldap
AuthType Basic
AuthName "Restricted Files"
Require ldap-group CN=group1,OU=example,OU=example,DC=example,DC=com
Require ldap-group CN=group2,OU=example,OU=example,DC=example,DC=com
</Directory>
Если я закомментирую эти две строки «Требуется ldap-group», это работает безупречно, но с любым пользователем LDAP, чего я не хочу. Когда я добавляю эти строки обратно, несмотря на то, что я являюсь членом одной из этих групп, я не могу войти, и ssl_error_log выдает мне это:
[Sat Jun 28 21:34:53 2014] [error] [client 198.51.100.156] access to /restricted/restricted.html failed, reason: require directives present and no Authoritative handler.
Мой сервер LDAP является контроллером домена Active Directory, поэтому имена пользователей — sAMAccountName, DNS — distinctedname, а атрибуты участника группы — member, используя DNs.
Вот что я запускаю:
Server version: Apache/2.2.15 (Unix)
Server built: Mar 20 2014 06:21:02
Есть мысли?
Ответ №1:
Вы требуете, чтобы пользователь был членом обеих групп. Вам нужно удовлетворить любой.