我正在运行使用FOSUserBundle的Symfony 2.6应用程序。当用户登录时,他们始终会被记住。因为我已在security.yml中配置了这些设置:
http://symfony.com/doc/current/cookbook/security/remember_me.html
Security.yml:
remember_me:
key: "%secret%"
lifetime: 604800 # One week
path: /
domain: ~
always_remember_me: true
secure: true
当用户登录时,这会创建一个REMEMBERME cookie;这一切都很好。但是,当我存储Cookie时(例如,在Google Chrome中使用EditThisCookie),我仍然可以在用户退出后重新使用这些Cookie。
我的场景: - 用户登录 - 复制REMEMBERME cookie - 用户注销 - 粘贴REMEMBERME cookie并刷新页面 - 用户再次登录(我不想要!)
如何防止这些cookie在用户注销后再次使用?
答案 0 :(得分:1)
REMEMBERME Cookie不用于恢复现有会话,而是用于登录。所以当然你可以在你注销后再次使用cookie登录,否则REMEMBERME的目的是什么?换句话说,这就是预期的行为。
无论如何,您可以添加"退出"删除cookie的事件监听器。
http://api.symfony.com/2.5/Symfony/Component/Security/Http/Firewall/LogoutListener.html
我无法推荐一个特定的教程,但你可以在网上找到大量的信息。如果您找不到足够的内容,请添加有关如何实施注销处理程序的新特定问题。