2016-05-13 5 views
1

Я создаю сайт с Symfony 2.8 и FOSUserBundle для аутентификации.Check_path «login_check» для метода входа «form_login» не соответствует шаблону брандмауэра «^/admin /(.*)»

Я хочу, чтобы сайт был общедоступным для всех, а бэк-офис (с префиксом /admin) был доступен после авторизации при входе в систему.

Я просто продолжаю получать сообщение об ошибке:

The check_path "/login_check" for login method "form_login" is not matched by the firewall pattern "^/admin/(.*)".

Мои app/config/security.yml выглядит следующим образом:

providers: 

    fos_userbundle: 
     id: fos_user.user_provider.username 

firewalls: 

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

    admin: 
     pattern:   ^/admin/(.*) 
     form_login: 
      provider:  fos_userbundle 
      login_path:  /login 
      check_path:  /login_check 
      always_use_default_target_path: false 
      default_target_path: /admin 
     logout: 
      path:   /logout 
      target:   /login 
     anonymous: true 

    main: 
     anonymous: ~ 

access_control: 
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    #- { path: ^/login_check, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
    - { path: ^/admin/, role: ROLE_ADMIN } 

Я знаю, что есть что-то неправильное в form_login, но я просто не могу понять его .. .

PS:Аналогичные вопросы были заданы, но без больших ответы (или ответы, которые работают для меня, если на то пошло).

ответ

0

Я думаю, что ваш шаблон должен быть таким:

 admin: 
      pattern: ^/admin/ 
+0

Уже попробовал, что тоже не повезло: S – houcros