我怎样才能听到“记住我”? Symfony2 中的重新验证事件?
使用“正常”——而不是“记住我”身份验证——我可以设置成功和失败处理程序,并将其添加到 security.yml
文件中:
form_login:
# ...
success_handler: authentication_handler
failure_handler: authentication_handler
但我找不到监听“记住我”的方法当用户的会话过期并且使用“记住我”cookie 再次重新进行身份验证时,“我”重新进行身份验证。关于如何实现这一目标有什么想法吗?
Using “normal” — not “remember me” authentication — I can set a success and failure handlers, adding this to the security.yml
file:
form_login:
# ...
success_handler: authentication_handler
failure_handler: authentication_handler
But I couldn't find a way for listening for “remember me” reauthentication, when a user's session is expired and a “remember me” cookie is used to reauthenticate again. Any ideas on how can I achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为
security.interactive_login
事件。这会在简单登录和“记住我”登录时触发(请参阅Symfony\Component\Security\Http\Firewall\RememberMeListener.php
@line:77)。在侦听器中,您可以通过检查 cookie 将两者分开。
您可以在此处找到有关侦听器的更多信息。
Create a Listener for the
security.interactive_login
event. That gets triggered on both simple and "remember me" logins (seeSymfony\Component\Security\Http\Firewall\RememberMeListener.php
@line:77).In the listener you can separate the two by checking the cookie.
You can find more about the listener here.
我还没有尝试过,但也许您可以将侦听器附加到
success_handler
,但请确保通过服务配置中的
注入SecurityContext
服务。然后,一旦您输入服务方法,您就会执行以下操作:
同样,这只是一个想法,但听起来好像可以......
I haven't tried this but maybe you could attach listener to
success_handler
but make sure you injectSecurityContext
service via<argument>
in service config.Then, is soon as you enter you service method you do:
Again, this is just an idea but sounds like it could do...