Symfony2:创建一个注销链接

Mil*_*loš 11 authentication logout symfony

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

我试过了

<a href="/logout">Logout</a>
Run Code Online (Sandbox Code Playgroud)

但是这个链接正在删除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 }
Run Code Online (Sandbox Code Playgroud)

非常感谢你.

Ber*_*nat 14

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

<a href="{{ path('user_logout') }}">Logout</a>
Run Code Online (Sandbox Code Playgroud)

并在我的"UserBundle"中,添加了routing.yml文件

user_logout:
       pattern:   /logout
Run Code Online (Sandbox Code Playgroud)


Mat*_*ine 12

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

{{ path('fos_user_security_logout') }}
Run Code Online (Sandbox Code Playgroud)


Mat*_*Cat 6

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