- 分享
- 0
- 人气
- 0
- 主题
- 6
- 帖子
- 548
- UID
- 99797
- 积分
- 397
- 阅读权限
- 15
- 注册时间
- 2007-9-17
- 最后登录
- 2015-7-15
- 在线时间
- 4635 小时
|
我大概说下我的想法:
1. 当用户登录是,user db 里记录用户的cookie session和timeout时间
2. 当用户logoff时,就把cookie session和timeout清楚掉
3. 当另外一个用户登录时,如果user db里的cookie session和timeout时间还没有过,那么就不允许登陆
以上3点又有几个问题存在,那就是
问题1:为什么不能使用ip,而是要使用cookie session?
答:原因是或许用户是在LAN上网,如果使用ip, 同一个LAN不同电脑尝试登陆的话就crash了。
问题2:有些用户使用时间很长,那么timeout怎么办?
解决方法:在每页都写一个function,当用户有使用,就延长timeout时间,也就是idle太久才会timeout
问题3:假设某位用户internet disconnect或没有logout该怎么办?
解决方法:当有用户登录时,先处理user db里面的timeout, 如果Timeout时间过了,那么就把该timeout 和 session删除
==================================
还有另外一种方法,不过不鼓励使用,也就是在Admin page的代码里写一个Script,每一分钟在后台自动提交一个i m active的数据通知服务器,那么只要用户没有把browser关掉,就会一直是login状态,其它用户就永远不能登陆 |
|