Подтвердить что ты не робот

Symfony2: создать ссылку для выхода из системы

Я управляю пользователями в своем проекте 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 }

Большое спасибо.

4b9b3361

Ответ 1

Я создал ссылку таким образом: (я использую TWIG)

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

И в моем "UserBundle" в файле routing.yml добавлен

user_logout:
       pattern:   /logout

Ответ 2

Когда вы используете FOSUserBundle, вы можете использовать

{{ path('fos_user_security_logout') }}

Ответ 3

С Symfony 2.7 вы можете использовать Twig logout_path или logout_url.