Безопасность Symfony2 FOSUserBundle - PullRequest
1 голос
/ 06 февраля 2012

У меня странная проблема.Я не могу закрыть доступ к страницам

/registration
/login
/resetting

для уже авторизованных пользователей.

access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/profile, role: ROLE_USER }
    - { path: ^/admin/, role: ROLE_ADMIN }

Почему пользователь с правилом ROLE_USER имеет доступ к странице / имени пользователя?И как мне это закрыть?Используя шаблоны или security.xml?

Как я могу перенаправить пользователей с правилом ROLE_USER, когда хотите получить доступ / войти?

1 Ответ

5 голосов
/ 06 февраля 2012

Роли иерархически определены в Symfony2; ROLE_USER явно находится на вершине IS_AUTHENTICATED_ANONYMOUSLY, поэтому ваши пользователи могут получить доступ к любым страницам, доступ к которым могут получить анонимные люди.

Если вы хотите ограничить доступ, вам нужно проверить в контроллере, аутентифицирован ли пользователь, и перенаправить его в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...