在nodejs中删除浏览器关闭时的会话
Posted
技术标签:
【中文标题】在nodejs中删除浏览器关闭时的会话【英文标题】:Delete the session on browser close in nodejs 【发布时间】:2012-10-26 13:59:16 【问题描述】:浏览器关闭时可以删除node js中的session吗?
我想检查用户是否选择了保持登录复选框,然后关闭窗口。他应该要求重新登录。
【问题讨论】:
【参考方案1】:这是特定于 cookie 的设置:如果您将会话数据存储在仅会话 cookie 中,它会在浏览器关闭时消失。
查看此答案以使用 express 制作浏览器会话 cookie:Node.js/Express.js session management cookie to be session cookie
【讨论】:
【参考方案2】:您可以在事件“断开连接”上编写自己的会话删除函数
socketServer.sockets.on('connection', function onSocket(client)
client.on('disconnect', function()
console.log("disconnect");
// some code
);
-----
);
【讨论】:
虽然这是一个潜在有用的解决方案,但它不是可移植的,因为并非所有浏览器都支持 websocket。最好使用 cookie 设置,因此我给了你一个 -1。以上是关于在nodejs中删除浏览器关闭时的会话的主要内容,如果未能解决你的问题,请参考以下文章
如果用户忘记注销并关闭浏览器,如何删除 Rails 中以前的会话?
关闭会话时未删除移动浏览器(chrome、safari)cookie