怎么处理用户直接关闭浏览器时的退出登录问题?

taoyi 2004-09-14 04:44:57
在ASP,ASP.NET和JSP中,,,你们是怎么处理用户直接关闭浏览器时的退出登录问题的?


问题的原因是这样的:
系统要防止同一个用户名在不同的计算机上同时登录。但是当用户关闭ie的时候,服务器依然得不到通知,它依然认为用户在线,这样当用户再次登录的时候,服务器就会拒绝它的登录要求,因为此时服务器认为用户已经登录了 。

请问各位老大们是怎么解决这个问题的?

随便说一句,在ASP.NET中有个session_end,但是当直接关闭浏览器的时候它好象不起作用了
...全文
1150 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lippea 2004-09-15
to yxy258(草帽)
如果用户打开多个窗口,只关闭了其中一个,你就断开了?这样不妥吧?
我觉得还是缩短session时间好了
我现在的项目就是这么做的 用户多长时间未触发session则关闭
  • 打赏
  • 举报
回复
taoyi 2004-09-15
楼上面朋友的办法感觉还可以~~

其它朋友还有别的方法么?

至于"如果确实有必要,可以写个applet隐藏着,这个applet和服务器建立一个 socket 连接.连接断了服务器马上就能知道",,,我觉得不是很可行吧
  • 打赏
  • 举报
回复
yxy258 2004-09-14
可以采用以下方法:
1、在页面中填加onunload事件,判断该窗口是否被关闭。
<body onunload="openWindow()">
2、如果触发onunload事件,则打开一个临时窗口,该窗口调用一个asp,通知服务器该用户退出。
<script language="JavaScript">
function openWindow(){
win=window.open("notice.asp","","height=10,width=10")
}
</script>
3、处理完后,调用self.close();关闭临时窗口。

  • 打赏
  • 举报
回复
figoren 2004-09-14
屏蔽IE关闭按钮:)
  • 打赏
  • 举报
回复
KongDX 2004-09-14
这个问题确实比较麻烦,最普通的做法是缩短session有效时间,在tomcat中,session默认是30分钟......
  • 打赏
  • 举报
回复
jinsfree 2004-09-14
也就楼上的方法了,这种事情其实很不好做的,这是用户的事情
  • 打赏
  • 举报
回复
learnner 2004-09-14
没有用的.如果用户直接断开网络连接呢,楼上说的办法就不行了

如果确实有必要,可以写个applet隐藏着,这个applet和服务器建立一个 socket 连接.连接断了服务器马上就能知道
  • 打赏
  • 举报
回复
taoyi 2004-09-14
请问大师你所说的事件是什么事件?
  • 打赏
  • 举报
回复
lippea 2004-09-14
ie关闭应该可以触发jsp事件吧?在事件中添加代码,将请求发送回服务器。
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发

8.0w+

社区成员

Java Web 开发
社区管理员
  • Web 开发社区
加入社区
帖子事件
创建了帖子
2004-09-14 04:44
社区公告
暂无公告