社区
Web 开发
帖子详情
100分求救:关闭浏览器让登录用户自动下线的功能
robyjeffding
2009-04-16 06:58:21
当用户登陆时,session保存了用户信息,登陆成功后,每个页面都有登出的链接,
点击此可以让用户下线,并且清除session中的值,但问题是:
如果不点击此链接,而是直接关闭浏览器的话,session中的值还是保存的,当我再次
打开一个浏览器时,用户重新登录就不行了,因为我做了重复登录的判断,一个用户不
能登录两次。我想达到的结果是:直接关闭浏览器用户自动下线,再次登录时,可以登录
上去。求救高手指点!
...全文
376
16
打赏
收藏
100分求救:关闭浏览器让登录用户自动下线的功能
当用户登陆时,session保存了用户信息,登陆成功后,每个页面都有登出的链接, 点击此可以让用户下线,并且清除session中的值,但问题是: 如果不点击此链接,而是直接关闭浏览器的话,session中的值还是保存的,当我再次 打开一个浏览器时,用户重新登录就不行了,因为我做了重复登录的判断,一个用户不 能登录两次。我想达到的结果是:直接关闭浏览器用户自动下线,再次登录时,可以登录 上去。求救高手指点!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
抬头望远,低头沉思
2009-04-17
打赏
举报
回复
你关闭浏览器,应该可以使 session失效。指关闭本页面,如果还有其它页面,那么 session还是没有失效。只有当超时时间到了,才失效。缺省是30分钟。你可以更改,再web.xml中设置
<session-config>
<session-timeout>5</session-timeout> //分
</session-config>
或者,创建session是直接设置
session.setMaxInactiveInterval(300);//秒
如果你只是要在页面关闭时作一些操作,直接用JavaScript的事件onunload就可以了。
如果你是在捕获session失效事件,那就比较复杂了。标准的做法是用session的监听类。
http://www.javaresearch.org/article/16478.htm
liu_zhaoqf
2009-04-17
打赏
举报
回复
[Quote=引用 12 楼 hero272285642 的回复:]
获取关闭浏览器的动作事件,然后在事件发生后清除session。
function window.onbeforeunload()
{
if( event.clientX>document.body.clientWidth && event.clientY <0 || event.altKey )
{
//window.event.returnValue="确定要退出本页吗?";
//TO-DO 清楚session的操作
}
}
[/Quote]
这个我觉得可以。
MavenTalk
2009-04-17
打赏
举报
回复
再次登录时,可以登录上去
就去读取cookie,做判断,然后自动登录就可以了
MavenTalk
2009-04-17
打赏
举报
回复
或者
function window.onunload()
{
//TO-DO 清楚session的操作
}
mumu_java
2009-04-17
打赏
举报
回复
用cookies记录用户名。lz看看cookies的相关信息。
MavenTalk
2009-04-17
打赏
举报
回复
获取关闭浏览器的动作事件,然后在事件发生后清除session。
function window.onbeforeunload()
{
if( event.clientX>document.body.clientWidth && event.clientY<0 || event.altKey )
{
//window.event.returnValue="确定要退出本页吗?";
//TO-DO 清楚session的操作
}
}
FAT0708
2009-04-17
打赏
举报
回复
ie窗口关闭监听器
ninachen
2009-04-17
打赏
举报
回复
顶楼上
robyjeffding
2009-04-16
打赏
举报
回复
我做了浏览器的onunload事件,发送了loginout的请求,可以实现让用户自动下线,
但问题又来了,我点击一个链接到别的页面时,当前页面默认为关闭,他也会发送一个
loginout的请求,这样虽然我链接到了另一个页面,但session中的用户实际上已经
删除了?而我想只是在关闭浏览器时发送loginout请求,而不要点击链接时也发送
loginout请求,请问如何实现?有没有高手指点啊!不胜感激啊!
qybao
2009-04-16
打赏
举报
回复
在浏览器的onclose事件添加代码,给Server发送一个logout请求
设置Server的Session有效期,即timeout时间
guolimin1118
2009-04-16
打赏
举报
回复
一般所有页面关闭的话
session就会自动终止了
可能是你IE有缓存的缘故吗
望高手看下
sustbeckham
2009-04-16
打赏
举报
回复
给一个响应?
session.invalid();
算了 帮顶..
流星谜
2009-04-16
打赏
举报
回复
我这里有代码的。
流星谜
2009-04-16
打赏
举报
回复
用cookie保存userID,打开页面时查询cookie中的数据,根据id查找数据库,直接登录就可以了。
my145794
2009-04-16
打赏
举报
回复
先得用JavaScript调用window。close()事件 在该实践中使用<% 在这里销毁session %>
Dora
2009-04-16
打赏
举报
回复
帮顶
校园网
自动
登录
,断线重连
校园网
自动
登录
获取
登录
数据包构造
自动
执行脚本
自动
启动并后台执行 本博客面向的是校内各专业的同学,语言对于专业人士来说可能比较啰嗦 获取
登录
数据包 首先在地址栏输入172. 然后根据给出的选项,选择带有wlanuserip的一条。 打开以后在页面按F12 打开网络(network) 开始记录数据包 接下来点一下连接,就得到了我们需要的数据包: 接下来我们把数据包复制为Powershell脚本,只需要右键数据包->复制->复制为powershell即可 如果一切正常,这一阶段的准备工作已经完
linux踢
用户
下线
linux踢
用户
下线
基于 RuoYi-Vue 轻松实现单
用户
登录
功能
,亲测有效
本文详解如何在若依框架中实现“单会话
登录
”
功能
,即同一账号仅允许一处
登录
。通过Redis存储
用户
会话,结合后端拦截器与前端响应处理,实现多端
登录
时
自动
踢出旧会话,提升系统安全性和数据一致性。
一个账号同时只能在同一个设备上登陆
关于使用mysql的一种解决方法如果不考虑效率,只需要在mysql中你原有的记录是否已
登录
的字段旁再增加过期时间和设备唯一标识符两个字段,将以前的判断是否
登录
的条件由“是否为1”变为“是否为1且未过期且设备唯一标识符一致”。每次
用户
有操作时都更新过期时间的值,如果一段时间没有操作,
登录
状态就可以“
自动
”过期,这样就可以解决你的“强行
关闭
浏览器
的时候就没办法把这个字段设置为0了”的问题。使用phpr...
mysql 同一帐号多次
登录
_一个账号同时只能在同一个设备上登陆
关于使用mysql的一种解决方法如果不考虑效率,只需要在mysql中你原有的记录是否已
登录
的字段旁再增加过期时间和设备唯一标识符两个字段,将以前的判断是否
登录
的条件由“是否为1”变为“是否为1且未过期且设备唯一标识符一致”。每次
用户
有操作时都更新过期时间的值,如果一段时间没有操作,
登录
状态就可以“
自动
”过期,这样就可以解决你的“强行
关闭
浏览器
的时候就没办法把这个字段设置为0了”的问题。使用phpr...
Web 开发
81,110
社区成员
341,727
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章