Symfony2:创建注销链接
Posted
技术标签:
【中文标题】Symfony2:创建注销链接【英文标题】:Symfony2: Create a logout link 【发布时间】:2012-09-17 21:37:50 【问题描述】:我正在管理我的 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
非常感谢。
【问题讨论】:
【参考方案1】:从 Symfony 2.7 开始,您可以使用 Twig logout_path
或 logout_url
函数。
【讨论】:
【参考方案2】:当您使用 FOSUserBundle 时,您可以使用
path('fos_user_security_logout')
【讨论】:
【参考方案3】:我以这种方式创建了链接:(我使用 TWIG)
<a href=" path('user_logout') ">Logout</a>
并且在我的“UserBundle”中,在 routing.yml 文件中添加了
user_logout:
pattern: /logout
【讨论】:
谢谢@Bernat,这正是我所需要的。 :D 请接受答案:) 我还要再等 2 分钟。会做的。谢谢 只是一个细节,在 Symfony3 中,路由的配置需要稍有不同。user_logout: path: /logout
以上是关于Symfony2:创建注销链接的主要内容,如果未能解决你的问题,请参考以下文章
Symfony2 注销 CSRF 保护:csrf_provider 无法识别