Symfony2- Форма входа снова появляется после входа в систему

Привет, друзья stackoverflow,

У меня есть экземпляр, который в Symfony2 я создал комплект безопасности (не использовался FOS USER BUNDLE), в котором, когда я вошел в систему, я пытаюсь снова открыть страницу входа в систему, и отображается форма входа. Не существует перенаправления на страницу по умолчанию, даже если я действительно вошел в систему. Как предотвратить эту регистрационную форму после входа в систему.

Ниже мой security.yml

ОБНОВЛЕНО

firewalls: main: pattern: ^/ anonymous: ~ form_login: login_path: /login check_path: /login_check logout: path: /logout target: /login access_control: - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/centerreg, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: ^/customredirect, roles: ROLE_USER } - { path: ^/admin/, roles: ROLE_ADMIN } - { path: ^/center/, roles: ROLE_CENTER } - { path: ^/client/, roles: ROLE_CLIENTADMIN } - { path: ^/examcenter/, roles: ROLE_EXAMCENTER } - { path: ^/tutor/, roles: ROLE_TUTOR } - { path: ^/evaluator/, roles: ROLE_EVALUATOR } - { path: ^/student/, roles: ROLE_STUDENT } - { path: ^/user/, roles: ROLE_USER } 

Любая помощь будет заметна.

Symfony не будет автоматически делать это, потому что страница входа всегда доступна, как указано в security.yml :

 access_control: - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY } 

Если вы не хотите, чтобы пользователи, прошедшие проверку подлинности, перешли на страницу входа в систему, вам необходимо вручную перенаправить их на страницу входа. Для этого перейдите к своему контроллеру для входа в систему и в начале функции loginAction () добавьте следующее:

 public function loginAction() { if ($this->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY')) { // redirect authenticated users to homepage return $this->redirect($this->generateUrl('_homepage')); } //other code goes here... } 

Это перенаправит аутентифицированных пользователей на вашу домашнюю страницу. Разумеется, замените «_homepage» на маршрутизацию имени страницы, к которой вы хотите перенаправить пользователей.

можете ли вы обновить вопрос своими маршрутами?

Я думаю, что у вас должен быть путь по умолчанию (например, /secure-area ), для которого требуется аутентификация, и некоторые другие (например, /secure-area/login ), которые представляют вашу регистрационную форму. Итак, в основном, возвращающийся посетитель не будет посещать /secure-area/login но /secure-area . Таким образом, он не будет показывать логин, но перезагрузит пользователя из сеанса …