首页 新闻 会员 周边 捐助

关闭浏览器时调用后台注销session

1
悬赏园豆:30 [待解决问题]

用户没有正常退出系统时自动调用后台方法注销session

苏芒丶的主页 苏芒丶 | 初学一级 | 园豆:86
提问于:2015-12-02 16:15
< >
分享
所有回答(3)
-2

浏览器关闭,Session就自动注销了的。

爱编程的大叔 | 园豆:30844 (高人七级) | 2015-12-02 16:16

不是吧,怎么会自动注销?

支持(0) 反对(0) 苏芒丶 | 园豆:86 (初学一级) | 2015-12-02 16:19

@苏芒丶: session都有有效期的,你不管它,过段时间自己就注销了。想在他失效的时候做一些操作的话,java的话有HttpSessionListener可以用来监听session的失效,.NET平台不太了解。

支持(0) 反对(0) 之奇一昂 | 园豆:1421 (小虾三级) | 2015-12-02 17:50
0

不知道你问的是哪种开发语言的,

如果是.net的话,session在用户中断访问后,默认有20分钟的缓存期,超过20分钟就自动销毁。

或者在global.asax文件里找到Session_End的方法,可以在里面立即注销。

逐影 | 园豆:982 (小虾三级) | 2015-12-02 16:30

用的java哦,用户非正常注销后调用后台去帮助用户注销

支持(0) 反对(0) 苏芒丶 | 园豆:86 (初学一级) | 2015-12-02 17:01
0

最近也遇到这个问题了,上级的要求是要使用code注销。但是感觉没必要。

session都有生命期。过了期限自动销毁。(你可以设置期限)

你这个问题,浏览器关闭了,这是用户的正常行为。

不正常的行为是浏览器没有关闭,网页还开着。这就麻烦了。

我的解决方法是:监测用户的鼠标行为,长时间无行动的话,页面将跳转到登录。

有什么好的方法,可以交流一下。

[0] | 园豆:1257 (小虾三级) | 2015-12-02 16:56

是因为之前用户登录会发生串号的bug,所以后来就改了,session没有注销的话是登不进去了,所以用户强制关闭了浏览器的话session是不会注销的,现在就是想知道怎么监听用户非正常注销后调用后台去帮助用户注销

支持(0) 反对(0) 苏芒丶 | 园豆:86 (初学一级) | 2015-12-02 16:59

@苏芒丶: 我怎么觉得你们把session的概念理解错了啊,还是我错了。session没有注销的话,也就是在生存期内,用户就不用登录啊。为什么有时候咱们把有的网页关了以后,当5,6分钟后再次打开,我们还在登录。这就是session的功能。

支持(0) 反对(0) [0] | 园豆:1257 (小虾三级) | 2015-12-02 17:19

@Qlover: 我就是要关闭了浏览器后马上监听到然后立刻注销

支持(0) 反对(0) 苏芒丶 | 园豆:86 (初学一级) | 2015-12-02 17:33

@苏芒丶: 我临时想到一个方法:网页关闭或者浏览器关闭不是应该有什么函数事件吗?可不可以在这个函数事件里 和服务器 进行最后一次的通信,告诉它一生,你可以注销了。至于session的注销代码,网上都有的。

支持(0) 反对(0) [0] | 园豆:1257 (小虾三级) | 2015-12-02 17:38

@Qlover: 对呀,我知道啊,网上的代码大多只兼容ie,有没有兼容性高一点的,至少ie,火狐吧

支持(0) 反对(0) 苏芒丶 | 园豆:86 (初学一级) | 2015-12-02 17:39

@苏芒丶: 

支持(0) 反对(0) [0] | 园豆:1257 (小虾三级) | 2015-12-02 17:53

@Qlover: 怎么回事儿?回复的内容木有了。

看看这个问题:window.onunload

可不可以在这个函数里面,使用ajax和服务器通信。在服务器端注销session。

感觉木有兼容性问题啊。

支持(0) 反对(0) [0] | 园豆:1257 (小虾三级) | 2015-12-02 17:55

@Qlover: 考虑刷新问题·

支持(0) 反对(0) 幻天芒 | 园豆:37207 (高人七级) | 2015-12-03 08:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册