2013-06-26 3 views
0

Я заметил, что конфигурация access_control по умолчанию FOSUserBundle являетсяSymfony2/FOSUserBundle - Запрет пользователям получать анонимные страницы

- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 

Но когда я пытаюсь установить эти роли

IS_AUTHENTICATED_ANONYMOUSLY && !IS_AUTHENTICATED_FULLY 

это дает мне бесконечные циклы в/login. Как я могу запретить только эти три правила для полностью аутентифицированных пользователей?

ответ

1

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

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

Смежные вопросы