我有一个网络聊天应用程序,我们正在使用jQuery。当用户空闲或者在15分钟内没有点击浏览器时,它应该自动销毁该特定用户的会话并将其重定向到登录页面。我该怎么做?
答案 0 :(得分:2)
您使用的是哪种语言服务器?
会话应该使用服务器端的任何语言销毁......
但是,让我举一个可能的应用流程示例。
如下面的答案中所述,是的,你可以销毁cookie或会话客户端,但我不会依赖它,javascript并不总是可用。您必须将其留给服务器以销毁会话并清理所有数据。你必须弄清楚会话cookie如何看起来像是在学习你使用的技术......
但要明确的是,请提供有关所用技术的更多信息,然后我可以给你一个正确的答案。
答案 1 :(得分:1)
你需要销毁cookie - there is plugin
例如,在java中,大多数时候它的cookie名为“JSESSIONID”您需要查看网站制作的Cookie并使用会话信息终止该Cookie。
答案 2 :(得分:0)
当鼠标移动15分钟时,您可以使用AJAX指向重定向到登录页面的注销页面
答案 3 :(得分:0)
您的服务器应该跟踪会话生命周期,而不是浏览器。所有浏览器都有一个引用会话ID(或类似内容)的cookie。
是的,如果您要销毁cookie中的cookie或会话ID,则用户下次联系服务器时似乎会被注销。但是,根据会话管理的浏览器,这是获得不一致结果的好方法。
会话存在于您的服务器上,客户端仅引用它。您必须在服务器上对其进行管理才能保证可靠性。例如,在会话中保存“lastContactTimestamp”的时间戳。当客户端发出请求时,检查当前时间戳是否超过“lastContactTimestamp”的15分钟。如果是,则重定向客户端以重新登录。如果不是,请将“lastContactTimestamp”更新为当前时间戳,然后提供客户端请求。
答案 4 :(得分:0)
使用元刷新重定向,这将在900秒内自动将浏览器重定向到somelogOutUrl。这假设您将在那段时间刷新页面。如果您的applciation主要使用ajax调用新内容,并且很少有整页刷新,那么您将需要另一个选项。
<meta http-equiv="refresh" content="900;url=somelogOutUrl">