注销后如何使用不同的目标路径?
这是我的问题:我有一个项目翻译成两种语言(英语和法语)。在 security.yml 中,我必须配置防火墙(使用登录表单),特别是注销后的目标路径:
logout:
path: /user/logout
target: /
但我无法根据用户的文化选择目标路径...
我没有这个登录时出现问题,实际上我直接在登录表单中选择目标路径:
<input type="hidden" name="_target_path" value="/{{ app.session.locale }}/" />
所以我不知道注销后如何在 /fr/ 上重定向(如果您是法国人),否则 /en/ ... 您有任何解决方案吗?
Here's my problem: I have a project translated in 2 languages (en & fr). In the security.yml, I've to configure a firewall (with a login form), and specifically the target path after logout:
logout:
path: /user/logout
target: /
But I can't choose the target path depending on user's culture...
I don't have this problem when signin, in fact I choose the target path directly in my login form:
<input type="hidden" name="_target_path" value="/{{ app.session.locale }}/" />
So I don't know how to redirect after logout on /fr/ if you are french, or otherwise /en/ ... Do you have any solution ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以添加自定义注销处理程序,请参阅
Symfony\Component\Security\Http\Firewall\LogoutListener
。使用 DIC,您可以轻松地覆盖它。You can add a custom logout handler, see
successHandler
property ofSymfony\Component\Security\Http\Firewall\LogoutListener
. With the DIC you can easily override it.