Как защитить подкаталоги с Apache, используя Shibboleth SSO? - PullRequest
0 голосов
/ 18 апреля 2020

Я работаю над групповым проектом, и мы столкнулись с проблемой защиты некоторых подкаталогов. У нас есть каталог root с файлом .htaccess, в котором реализован инструмент единого входа shibboleth.

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

Проблема заключается в том, что после проверки подлинности через SSO они могут go войти в любой подкаталог root, введя имя пути вручную. Поэтому, если они начинаются с / home / user1, мы не хотим, чтобы они могли go перейти к / home / user2, просто введя URL-адрес. Мы хотели бы запретить пользователям доступ к этим путям, если они не являются членами правильной группы.

Наше временное решение сейчас заключается в том, чтобы включить скрипт php вверху каждой страницы, чтобы проверить, к какой группе они принадлежат, и отклонить их, если их идентификатор недействителен. Я думаю, что есть лучшее решение, использующее некоторые директивы конфигурации shibboleth или apache, но я не знаю достаточно о них, чтобы знать наверняка.

Мы не хотим использовать файл .htpasswd, так как это потребует администраторы должны войти в систему дважды, один раз через SSO и во-вторых через приглашение входа в систему. У нас будет таблица MySQL со списком всех пользователей, а затем мы хотим проверить определенный атрибут, скажем, isAdmin, чтобы определить, следует ли им предоставить доступ в подкаталог.

...