还是关于SESSION问题,大家讨论下,谢谢

bjblz 2004-08-30 11:29:57
1、用户登录系统后建立SESSION
2、同一用户不可在两处同时登录
3、用户正常退出或者非常关闭浏览器,都可以清空该用户的SESSION。

但是如果是客户端发生断电,死机这种情况,又要如何解决SESSION问题呢?必须要等到SESSION TIME OUT吗?

因为上面的2,如果SESSION不清空,那么用户就要等到 session time out后才到再次登录了!!
...全文
217 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
edhappy 2004-08-30
  • 打赏
  • 举报
回复
感觉 rttw(rttw) 说的有道理。
bjblz 2004-08-30
  • 打赏
  • 举报
回复
To: spiritsl(梦雨心蓝)

这不是办法哦
frieblade 2004-08-30
  • 打赏
  • 举报
回复
会生成新的SESSION吧
spiritsl 2004-08-30
  • 打赏
  • 举报
回复
这样处理吧,
你把session 的时间设置的短一些,比如3秒,
然后让每一个页面每2.3秒发送一个简单请求。
:)
勉强处理你想要的情况。
rttw 2004-08-30
  • 打赏
  • 举报
回复
原来的session等time out,但是用户同时也可以用一个新的session登陆,并不影响。在用户那层看来,死机,停电,和关掉浏览器重开的效果是一样的
「已注销」 2004-08-30
  • 打赏
  • 举报
回复
我开一个能帮我解决一下吗
「已注销」 2004-08-30
  • 打赏
  • 举报
回复
我现在也遇到这个问题,我是加了一个onlineuser来解决的,但听你们一说,我也觉得不对。
我的方法是
1。加入一个onlineuser表,用户登录时,把用户ID写进去
2。如果用户非法退出,我在登录页面设了一个注销键,用户输入用户名和密码,按注销,则清空该用户在onlineuser中的记录。
但是如果本来这个用户在线,另一个人用“注销”清空了他在线的记录,可那个人的session还是存在的。还是没有起到防止重登录的问题。

如何在清空了他在线记录的时候清空那个人的session?
bjblz 2004-08-30
  • 打赏
  • 举报
回复
不好意思,最近上CSDN比较少,以前也没有仔细阅读过CSDN的手册

还想问下信誉分与什么相关?为什么我的分给扣了?
xiangbo520 2004-08-30
  • 打赏
  • 举报
回复
楼主信誉分太低,不能信任,拒绝回答问题,知道也不告诉你。。
「已注销」 2004-08-30
  • 打赏
  • 举报
回复
请问一下,怎么用session来判定是不是重登录啊?!
zhaoqiubo 2004-08-30
  • 打赏
  • 举报
回复
顺便说一句,问问题的人,你的信誉值也太低了点,你是我见过的信誉值最低的人.
zhaoqiubo 2004-08-30
  • 打赏
  • 举报
回复
另:用spiritsl(梦雨心蓝);你可以在后台启用一个守护线程,在超时的时间内,给客户端发送响应,或者让客户端发送请求;这样如果不非法退出session就不消失.一旦非法退出了.因为你超时的时间设置的比较短,那么就会超时.呵呵...这个方法比较好.
aoplo 2004-08-30
  • 打赏
  • 举报
回复
rttw(rttw) zhaoqiubo(赵小刀)等老兄说的都有道理,用户第二次登录就将前次的session清除,就像qq一样。只管最近一次的登录,如果存在同一用户两次登录就给出提示,告诉他“您已经登录,这次登录将清除前一次的登录。”!
zhaoqiubo 2004-08-30
  • 打赏
  • 举报
回复
如果用户登陆过,再次登陆就把前次的session清除。如果是用户非法退出,那清除就清除了。如果用户并非非法退出 。那为了控制只能一个登陆,第一个用户就session消失了。给他一个提示。但是这样是不好的。本来应该先入为主的。
zhaoqiubo 2004-08-30
  • 打赏
  • 举报
回复
不如在用户第二次登陆的时候就把第一次的session清除;只不过要给用户一个提示.
zhaoqiubo 2004-08-30
  • 打赏
  • 举报
回复
"你不会不用SESSION,在数据库中加一个表,叫onlineuser"

这种方法是不可行的,因为如果断电或者死机,你就并不知道用户已经离开.
spiritsl(梦雨心蓝) 说的对,如果想解决,现在我能想到的,就这么一种方法.目前为止,还没有找到其他的方法解决.
「已注销」 2004-08-30
  • 打赏
  • 举报
回复
你不会不用SESSION,在数据库中加一个表,叫onlineuser

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧