Rails设计gem:强制注销浏览器选项卡关闭
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails设计gem:强制注销浏览器选项卡关闭相关的知识,希望对你有一定的参考价值。
我正在使用Devise gem,
如果我关闭浏览器或浏览器选项卡并再次打开它会话保持活动状态。
如何在浏览器关闭时强制注销用户?
答案
从模型文件中删除rememberable属性。
另一答案
浏览器选项卡关闭:会话cookie是按进程而不是每个窗口。因此,即使您选择了新窗口,您仍然可以获得相同的会话ID。这种行为是有道理的。您不希望用户在浏览您的网站时每次打开新窗口时重新登录。
浏览器关闭:您无法“强制”客户端关闭会话,因为关闭会话是客户端必须从服务器请求的操作(例如:通过注销)。
因此,通常会话具有定期检查的超时时段。每个会话都有一个存储在数据库中的“开始时间”,并且会清除过旧的会话。
也就是说,javascript中可能有某种方式来检测浏览器关闭事件并尽一切努力关闭会话。但无法保证 - 用户总是可以强行终止浏览器进程,让服务器完全处于黑暗中。
简而言之,您不能依赖客户端来关闭会话。超时可能是您的最佳选择。
以上是关于Rails设计gem:强制注销浏览器选项卡关闭的主要内容,如果未能解决你的问题,请参考以下文章
会话销毁或关闭浏览器选项卡或关闭浏览器后,使用Laravel 5.2执行注销