Требовать основанную на LDAP базовую аутентификацию для одного местоположения Apache и определенное членство в группе для подобласти

У меня Apache 2.4.7 работает на Ubuntu 14. Я установил slapd и создал двух человек, uid=wilma,ou=People,dc=mysite,dc=com а также uid=betty,ou=People,dc=mysite,dc=com, У них обоих есть классы объектов inetOrgPerson, posixAccount, а также shadowAccount, (В конечном счете, я хотел бы использовать UID и пароль LDAP для единого входа.) У меня работает аутентификация на основе LDAP, так что только пользователи, прошедшие аутентификацию LDAP, могут получить доступ /, Эта аутентификация на / только пока сайт не заработает. Однако у меня есть приложение, для которого я хочу постоянно использовать аутентификацию на основе LDAP с указанием местоположения /my-appи я хочу ограничить доступ к этому приложению для определенной группы людей. Я создал группу POSIX в LDAP под названием my-app-users, я добавил uid=wilma,ou=People,dc=mysite,dc=com в эту группу.

Отказ от ответственности: я не очень опытный с Apache и совершенно новый для LDAP. Я не намерен использовать группу POSIX, если это неправильно. (Я выбрал этот тип объекта, потому что я думаю, что этой группе иногда может понадобиться SSH на сервер. Опять же, новенький!)

Проблема в том, что аутентификация LDAP позволяет и Уилме, и Бетти /my-appно я просто хочу Вильму из-за ее членства в my-app-users,

Я пытался поместить несколько вариантов этого в разных местах.

AuthType Basic 
AuthBasicProvider ldap
AuthName "Access to My App is Restricted"
AuthLDAPInitialBindAsUser on
AuthLDAPInitialBindPattern (.*) uid=$1,ou=people,dc=mysite,dc=com
AuthLDAPURL ldap://localhost/DC=myside,DC=com?uid
require valid-user
Require ldap-group cn=super-my-app-users,ou=Groups,dc=mysite,dc=com

Вот:

# my-app.conf for my app.
<IfModule mod_alias.c>
    Alias /my-app /usr/share/my-app/htdocs
</IfModule>

# default.conf
<VirtualHost *:443>
    <Location /my-app>
        # Here
    </Location>
</VirtualHost>

Тогда вот (после удаления его с предыдущего места):

<Directory /usr/share/my-app/htdocs/>
    # Here
</Directory>

Я выполнил кучу поисков в сети, чтобы понять это, но я продолжаю заканчивать тем, что оба пользователя входят.

Заранее спасибо!

1 ответ

Решение

Проблема в том, что 2 директивы требуют. Ваши пользователи получат доступ, если они являются "действительными пользователями" до проверки группы. Удалить первый.

Другие вопросы по тегам