我在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 }
非常感谢。
答案 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_path
或logout_url
函数。