У меня есть 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>
Я сделал кучу веб-поиска, чтобы понять это, но я продолжаю в конечном итоге с обоими пользователями.
Заранее спасибо!