Я пытаюсь установить собственные роли в свой security.yml, поэтому после входа в систему пользователь может или не может получить доступ к главной странице (я использую ActiveDirectory).Symfony2 - Custom ROLES
Все, что я хочу, чтобы создать одну роль: ROLE_GUEST
Вот мой security.yml файл:
role_hierarchy:
ROLE_GUEST: ROLE_GUEST
ROLE_USER: [ROLE_GUEST, ROLE_USER]
ROLE_ADMIN: [ROLE_GUEST, ROLE_USER, ROLE_ADMIN]
ROLE_SUPER_ADMIN: [ROLE_GUEST, ROLE_USER, ROLE_ADMIN, ROLE_SUPER_ADMIN]
Если я хорошо понял, это то, как я прочитал эти роли:
- Пользователь, который имеет роль «ROLE_GUEST», может видеть только страницу, для которой требуется «ROLE_GUEST»
- Пользователь, у которого есть роль «ROLE_USER», также может видеть любой pa GE, которая требует «» ROLE_GUEST
- «Пользователь, который имеет„ROLE_ADMIN“роль также может увидеть любую страницу, которая требует„ROLE_GUEST“и« ROLE_USER»
- и т.д ...
Затем я установить access_control как:
access_control:
- { path: ^/$, role: ROLE_USER }
То, что я хочу в этом access_control, чтобы ограничить доступ к главной странице только ROLE_USER. Я уже установил роль по умолчанию для ROLE_GUEST, когда пользователь впервые вступил в систему. Но даже если я поместил ROLE_USER, как показано выше, я могу получить доступ к главной странице с пользователем, у которого есть ROLE_GUEST.
Любая идея, как я могу заставить это работать?
Спасибо!
Спасибо за ответ, но это не то, что я хочу. Как я уже сказал, я использую ActiveDirectory, поэтому каждый пользователь может войти в систему. Но я не хочу, чтобы все имели одинаковый доступ, поэтому я хочу, чтобы ПОЛЬЗОВАТЕЛЬ получал доступ к сайту и ADMIN для доступа к сайту + ADMIN. – Anthony
Извините, я полностью проигнорировал заметку активного каталога ...: P Но ваше регулярное выражение в части access_controll может быть проблемой в любом случае. Я обновил свой ответ соответственно. –
Нет ... У меня уже была эта проблема с REGEX, и единственное, что работает, это '^/$'. Ваш, '^ /. *' Выполняет ошибку перенаправления. Кроме того, когда я устанавливаю пользователя ROLE_USER и ограничиваю основную страницу только ADMIN, он работает: я получаю ошибку 403 - Forbidden. Поэтому я думаю, что это скорее проблема пользовательской роли, чем что-либо еще (я надеюсь). – Anthony