Symfony - 您必须在安全防火墙配置中使用 form_login 配置要由防火墙处理的检查路径

Symfony - You must configure the check path to be handled by the firewall using form_login in your security firewall configuration

你好,我在使用 fosuserbundle 的 symfony 项目中遇到问题

当我尝试在 /login 上连接时,它给我这个错误

You must configure the check path to be handled by the firewall using form_login in your security firewall configuration.

这是我的应用路由文件

co_manager_back:
    resource: "@CoManagerBackBundle/Resources/config/routing.yml"
    prefix:   /{_locale}

co_manager_front:
    resource: "@CoManagerFrontBundle/Resources/config/routing.yml"
    prefix:   /{_locale}

co_manager_user:
    resource: "@CoManagerUserBundle/Resources/config/routing.yml"
    prefix:   /{_locale}


_liip_imagine:
    resource: "@LiipImagineBundle/Resources/config/routing.xml"


fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"
    prefix:   /{_locale}






fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
    prefix: /profile

fos_user_register:
    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
    prefix: /register

fos_user_resetting:
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
    prefix: /resetting

fos_user_change_password:
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
    prefix: /profile

这是我的安全文件

# app/config/security.yml
security:
    encoders:
        FOS\UserBundle\Model\UserInterface: bcrypt

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username
    firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_token_generator: security.csrf.token_manager
                # if you are using Symfony < 2.8, use the following config instead:
                # csrf_provider: form.csrf_provider
                default_target_path:    /admin

            remember_me:
                secret:   '%secret%'
                lifetime: 604800 # 1 week in seconds
                path:     /
                # by default, the feature is enabled by checking a
                # checkbox in the login form (see below), uncomment the
                # following line to always enable it.
                #always_remember_me: true    



            logout:       true
            anonymous:    true

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

这是我的配置文件

 # fos user   
fos_user:
    db_driver: orm # other valid values are 'mongodb' and 'couchdb'
    firewall_name: main
    user_class: CoManager\UserBundle\Entity\User
    from_email:
        address:  mdz.dev6@gmail.com  #"%mailer_user%"
        sender_name:    yassine  #"%mailer_user%"

希望对我有帮助。谢谢.

将此添加到路由并尝试:

fos_user_security_login:
path:  /login
defaults:  { _controller: FOSUserBundle:Security:login, _method: POST }

fos_user_security_logout:
path:    /logout
defaults:  { _controller: FOSUserBundle:Security:logout, _method: POST }