解决方案 »
- jquery easyui 多屋拖放问题
- 搜索框自动补全(仿百度搜索框)--不使用任何Javascript框架
- JS入门级问题 新手提问
- 谁有类似QQ空间自定义的效果代码或者这样子的开源博客系统,我研究一下
- IE内存泄漏的问题
- js中的如下格式是什么意思 ?
- 框架里有子框架,如何利用主框架的某个页面,写入子框架里某个页面的文本框值
- 打开showmodaldialog,如何刷新父窗口?
- 这个滑动层总是在最上部,如何修改让它在文档中间显示或者离上面有一定距离?
- Gulp压缩合并js后,html路径替换问题
- 请教使用JavaScript DOM动态创建(声明)Object元素,无法自动下载该元素中ocx控件
- 怎么获得动态加载的textarea的值
http://bbs.csdn.net/topics/350109096
问的是php,我不会。
但是会java的,说不定给能你点思路!
你说的其实是单点登录!java可以用静态map实现
1、所有在线用户存入静态map中,用户名作为key,操作时间作为value
2、过滤器中刷新静态map,更新用户的操作时间
3、后台起个定时器,每秒(自己配)扫描map,根据map中的时间与当前时间做判断,超过阈值(自己配或session失效时间),就可以认为该用户已经断开了,从map中移除该用户
4、页面的判断就很简单,登录时,检查该用户在map中是否存在,否 ? 登录 : 提示已登录
因为一个用户进入网站后,肯定会不定时刷新页面,每次有交互都更新最后活动时间。这样就可以不管你非法不非法退出,哪怕你登陆了长时不操作也会强迫退出,跟session超时一样原理。
这个思路之前也考虑过,假如session的超时时间我设置为10分钟,那么最坏的情况下可能需要等待10分钟才能登陆系统...
你好,假如我刚登进系统,不小心关闭了浏览器,那么我是否要等待session超时之后才能再次登系统?
细问一下,最后一个登陆后,怎么是之前的失效?重新设置session?
通过这个凭据 你可以获取相关的访问者的 信息(包括身份信息)(这个凭据基本是在类似session的方式中实现的 这个不是重点)那么
假定 用户访问的时候 凭据 映射 用户信息
现在禁止多点同时登录 要另外 在加一个映射 用户信息 包含当前 有效凭据
登录: 初始化新的凭据 映射用户信息 用户信息 映射当前新的凭据
访问 :一个凭据 映射的 用户信息 中包含的 有效凭据 不等于 这个凭据 那么 证明 这个用户 已经被 从其他位置踢出去了差不多这个概念
包含 当前最新的凭据
}
userkey 是唯一的 通过userkey 可以获取用户信息
同一个用户的用户凭据可以有无数(每次登录产生一个) 指向该用户唯一的 userkey但是 userkey中包含的 用户凭据 可以验证当前的 凭据是否有效
你好,假如我刚登进系统,不小心关闭了浏览器,那么我是否要等待session超时之后才能再次登系统?这个分为两种情况,一种是同台电脑同个浏览器,监测到session存在,自动就登录了。另一种是你不小心关了,然后跑到另外一台电脑,或者同台电脑不同浏览器,这样监测不到session,但数据库其实还是在线状态。这时候就有时差了。这个是没有办法的事情。你唯一要做的,就是修改好定时刷新时间,比如改为1分钟监测一次或者30秒监测异地,这个时间就合适一些了.这样频繁地监测,对服务器要求较高,但是还是可行的。
多谢你的回复,现在我通过数据库和设置小一些的session时间来暂时解决(没找到更合适的方法)
多谢你的回复,现在我通过数据库和设置小一些的session时间来暂时解决(没找到更合适的方法)
你好,假如我刚登进系统,不小心关闭了浏览器,那么我是否要等待session超时之后才能再次登系统?这个分为两种情况,一种是同台电脑同个浏览器,监测到session存在,自动就登录了。另一种是你不小心关了,然后跑到另外一台电脑,或者同台电脑不同浏览器,这样监测不到session,但数据库其实还是在线状态。这时候就有时差了。这个是没有办法的事情。你唯一要做的,就是修改好定时刷新时间,比如改为1分钟监测一次或者30秒监测异地,这个时间就合适一些了.这样频繁地监测,对服务器要求较高,但是还是可行的。多谢你的回复,现在我通过数据库和设置小一些的session时间来暂时解决(没找到更合适的方法)
你头像蛮好看的,:-)