Symfony2: Как ограничить доступ к странице входа зарегистрированными пользователями

У меня есть приложение Symfony2 с независимой страницей входа. Вот снимок моего security.yml

# defaut login area for standard users
        main:
            pattern:            .*
            form_login:
                provider:       fos_userbundle
                login_path:     /auth/login
                use_referer:    true
                check_path:     /auth/login_check
                always_use_default_target_path: false
                default_target_path: gd_top_merchants
            logout:
                path:           /auth/logout
                target:         /
            anonymous:          true

    role_hierarchy:
        ROLE_ADMIN:       [ROLE_USER, ROLE_SONATA_ADMIN]
        ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

    access_control:
        # URL of FOSUserBundle which need to be available to anonymous users
        - { path: ^/_wdt, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/_profiler, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }

        # -> custom access control for the admin area of the URL

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

Я использую пакет JMSSecurityExtra с пакетом JMSDiExtra.

Я еще не расширил ни один из контроллеров FOSUserBundle. Есть ли способ решить мою проблему, не переопределяя loginAction?


person Amit    schedule 14.06.2012    source источник
comment
См. мой ответ на этот другой вопрос: stackoverflow.com/questions/13667091/   -  person lifo    schedule 06.12.2012
comment
@lifo Это было давно! Да, я решил это, переопределив действие входа в систему.   -  person Amit    schedule 10.12.2012