Принудительный вход пользователя в Symfony 2



Всякий раз, когда я пытаюсь удалить конфигурацию anonymous: ~ в системе безопасности.в формате YML, системы заканчивается, возвращается ошибка 310: перенаправление петли.



Это конфигурация до сих пор:



    firewalls:
secured_area:
pattern: ^/
#anonymous: ~
form_login:
check_path: /login_check
login_path: /login
logout:
path: /logout
659   1  

1 ответ:

Попробуйте вот что:

firewalls:
    secured_area:
        pattern: ^/
        #anonymous: ~
        form_login:
            check_path: /login_check
            login_path: /login
        logout:
            path: /logout
    login_firewall:
        pattern:    ^/login$
        anonymous:  ~

Смотрите документ http://symfony.com/doc/current/book/security.html#book-security-common-pitfalls

Убедитесь, что страница входа не защищена

Кроме того, убедитесь, что страница входа не требует просмотра каких-либо ролей. Например, следующая конфигурация-которая требует роли ROLE_ADMIN для всех url (включая URL / login), вызовет цикл перенаправления:

access_control:
    - { path: ^/, roles: ROLE_ADMIN }

Удаление контроля доступа на / login URL исправления проблема:

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

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

firewalls:
    login_firewall:
        pattern:    ^/login$
        anonymous:  ~
    secured_area:
        pattern:    ^/
        form_login: ~

Comments

    Ничего не найдено.