11

我在我的 symfony2 项目中管理用户。我能够毫无问题地登录和注销。现在,我想创建一个注销链接(而不是键入 app_dev.php/logout)。

我试过了

<a href="/logout">Logout</a>

但是这个链接正在删除 app_dev.php 并且我只有 /logout 不存在。

这是我的security.yml

security:
  encoders:
    MDPI\BackendBundle\Entity\Users:
      id: mdpi.backend.backendencoder.class

  providers:
    secured_area:
     entity: { class: MDPI\BackendBundle\Entity\Users, property: email }

  firewalls:
    secured_area:
      pattern:    ^/
      anonymous: ~
      form_login:
        login_path:  /login
        check_path:  /login_check
      logout:
         path:   /logout
         target: /


  access_control:
    - { path: ^/(?!login)(.*), role: ROLE_admins }
    - { path: /login.*, role: IS_AUTHENTICATED_ANONYMOUSLY }

非常感谢。

4

3 回答 3

15

我以这种方式创建了链接:(我使用 TWIG)

<a href="{{ path('user_logout') }}">Logout</a>

在我的“UserBundle”中,在 routing.yml 文件中添加

user_logout:
       pattern:   /logout
于 2012-09-26T09:37:24.983 回答
13

当您使用 FOSUserBundle 时,您可以使用

{{ path('fos_user_security_logout') }}
于 2014-06-01T14:25:38.300 回答
6

从 Symfony 2.7 开始,您可以使用 Twiglogout_pathlogout_url函数。

于 2015-08-02T11:00:56.490 回答