Symfony2:创建一个注销链接

时间:2012-09-26 09:34:25

标签: authentication symfony logout

我在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 }

非常感谢。

3 个答案:

答案 0 :(得分:14)

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

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

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

user_logout:
       pattern:   /logout

答案 1 :(得分:12)

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

{{ path('fos_user_security_logout') }}

答案 2 :(得分:6)

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