2015-09-17 7 views
0

У меня были проблемы с пакетом symfony security + fos. Я не мог найти никого, кто бы повторил мою проблему, только похожие проблемы, но решения не работают. Все страницы, включая/должны быть защищены, за исключением регистрационных/перезагружаемых/регистрационных URL-адресов.Symfony + fosuserbundle + проблема с безопасностью с брандмауэрами

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

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    registration: 
     pattern: ^/(login|register|resetting) 
     security: false 

    main: 
     pattern: ^/ 
     http_basic: ~ 
     form_login: 
      provider:  fos_userbundle 
      csrf_provider: security.csrf.token_manager 
     logout:    true 
     anonymous:   true 

access_control: 
    - { path: ^/(_(profiler|wdt)|css|images|js), role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/, role: ROLE_USER } 

ответ

0

Исправлено путем ограничения шаблона^входа в систему^login $, так что login_check все равно переходит на главный брандмауэр.

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 

    login: 
     pattern: ^/login$ 
     security: false 

    registration: 
     pattern: ^/(register|resetting) 
     security: false 

    main: 
     pattern: ^/ 
     http_basic: ~ 
     form_login: 
      provider:  fos_userbundle 
      csrf_provider: security.csrf.token_manager 
     logout:    true 
     anonymous:   true 

access_control: 
    - { path: ^/(_(profiler|wdt)|css|images|js), role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/, role: ROLE_USER }