Symfony3 找不到“GET /logout”的路由

Posted

技术标签:

【中文标题】Symfony3 找不到“GET /logout”的路由【英文标题】:Symfony3 No route found for "GET /logout" 【发布时间】:2016-07-22 12:38:16 【问题描述】:

我无法让注销在 symfony3 上工作。我一直在关注 symfony 文档 SecurityBundle Configuration,据我所知,我的配置文件接缝符合规范,但是当我转到 /logout 时,我得到以下响应:

No route found for "GET /logout" (from "http://localhost:8000/admin")

对我的问题有什么想法吗?

我的 security.yml:

security:
encoders:
    AppBundle\Entity\User:
        algorithm: bcrypt
    Symfony\Component\Security\Core\User\User: plaintext
providers:
    chain_provider:
            chain:
                providers: [in_memory, database_provider]
    in_memory:
        memory:
          users:
            test:
                password: test
                roles: 'ROLE_ADMIN'
            admin:
                password: admin
                roles: 'ROLE_ADMIN'
    database_provider:
        entity:
            class: AppBundle:User
            property: email
firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        anonymous: true
        logout: true
        form_login:
            check_path: /login
            login_path: /login
            default_target_path: /login
            always_use_default_target_path: true
        logout:
            path:   /logout
            target: /login

【问题讨论】:

【参考方案1】:

awsver 非常简单,我几乎删除了这个问题,但我想拥有一个配置良好的 security.yml 可以成为其他有问题的人的一个很好的例子。

只需将路由添加到 route.yml

# app/config/routing.yml
logout:
   path: /logout

【讨论】:

感谢您保留这个问题和答案,它为我节省了很多时间

以上是关于Symfony3 找不到“GET /logout”的路由的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 3.1:找不到路径“/logout”的控制器

Symfony 3.4.0 找不到要加载的任何夹具服务

Symfony 3.3 找不到路径“/login/check”的控制器。路由配置错误

Symfony 3.4 和模态表单验证

路由错误克隆目录后没有路由匹配 [GET] "/logout"

找不到路径“/api/login_check”的控制器。路由配置错误