B/S模式下,如何限制一个账号同时只能一个人登陆 建立一个在线表,Sessionid,IP,用户名,登录时间,最后更新时间登录从在线表判断是否已登录。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简单做法在数据库设置一个flag标志位来判断用户登陆状况 数据库设置一个flag标志位来判断用户登陆状况 数据库设置一个flag标志位来判断用户登陆状况这个是一个最简单的做法还有一个用app....那个来写忘记怎么写那个了! 如果用数据库设置一个flag方法,当碰到如下情况时该分别怎么处理呢?1:使用注销按钮正常退出2:点击浏览器关闭按钮或者用Alt+F4退出3:非正常退出,比如客户端系统崩溃或突然死机 我的做法是同一id的时候,第二个人的登陆会把第一个人踢下线登陆的时候cookie和数据库都存储一个随机串这样第二个人登的时候会替换掉第一个人的随机串比较不一样就提示已在别处登陆,清除cookie 如果用数据库设置一个flag方法, 当碰到如下情况时该分别怎么处理呢? 1:使用注销按钮正常退出 2:点击浏览器关闭按钮或者用Alt+F4退出 3:非正常退出,比如客户端系统崩溃或突然死机====================1、正常退出当然可以在退出代码中重置标志位2、关闭浏览器则在session过期时间到了后在session超时事件中重置标志位3、参考2,如果用户在session超时之前再次登录时判断一下用户IP,如果IP相同,可以考虑仍然让其登录。不采用客户端组件,没有什么彻底的好办法。 如果用数据库设置一个flag方法, 当碰到如下情况时该分别怎么处理呢? 1:使用注销按钮正常退出 2:点击浏览器关闭按钮或者用Alt+F4退出 3:非正常退出,比如客户端系统崩溃或突然死机====================1、正常退出当然可以在退出代码中重置标志位2、关闭浏览器则在session过期时间到了后在session超时事件中重置标志位3、参考2,如果用户在session超时之前再次登录时判断一下用户IP,如果IP相同,可以考虑仍然让其登录。不采用客户端组件,没有什么彻底的好办法。---------如果采用客户端组件的话,怎么采用呢?这方面客户端组件都有那些呢? 还有一个用app....那个来写忘记怎么写那个了!就是用这个 全局字典 用户名为键 在线id为值(用户登陆自动获得一个在线id) 2者不匹配强制登出.... 数据库里建立一个表:Sessionid,IP,用户名,登录时间,最后更新时间用户登录时:1。检查表里有没有该用户名存在--〉如果不存在,表里写进去一条记录。2。如果存在,检查此刻时间与最后更新时间的差值,是否大于某超时值。3。如果存在,且未超时,用户登录失败。用户每次看页面时:1。检查表里有没有该用户名存在--〉如果存在,IP对否?2。如果不存在,用户未登录。用户正常退出:1。根据Session里的数据,删除表里那条记录。用户非正常退出:1。无法跟踪,下次用户登录,如果那时刻与最后更新时间的时间差,大于一特定超时值,用户可以登录注意:javascript里有这个事件:window.onunload1:使用注销按钮正常退出 2:点击浏览器关闭按钮或者用Alt+F4退出 这两种情况都可以触发window.onunload window.onunload后可以使用Ajax跟服务器通信,可以成功 欢迎JAVA人士加入53633581群,大家在这里可以讨论技术问题! Javascript如何替换换行符? 有个关于弹窗的问题,有兴趣的朋友帮忙看下 Jquery 如何获取GridView里面的textbox值 有没哪个大神用js写过那种几张图片的飞页的效果? 如何得到上一个节点的className值? 一个非常好的ExtSharp集合(学EXT和C#朋友必备) ▄︻┻┳═一菜鸟求教个题目,急!! 如何把 焦点固定在 一个页面中 一个 iframe 中的第一项, 请教 我关闭窗口的时候怎样才能不弹出提示窗口? javascript 怎样取得 本地 的打印机名? 求msn在线交谈代码
这个是一个最简单的做法
还有一个用app....那个来写忘记怎么写那个了!
当碰到如下情况时该分别怎么处理呢?
1:使用注销按钮正常退出
2:点击浏览器关闭按钮或者用Alt+F4退出
3:非正常退出,比如客户端系统崩溃或突然死机
登陆的时候cookie和数据库都存储一个随机串
这样第二个人登的时候会替换掉第一个人的
随机串比较不一样就提示已在别处登陆,清除cookie
当碰到如下情况时该分别怎么处理呢?
1:使用注销按钮正常退出
2:点击浏览器关闭按钮或者用Alt+F4退出
3:非正常退出,比如客户端系统崩溃或突然死机
====================
1、正常退出当然可以在退出代码中重置标志位
2、关闭浏览器则在session过期时间到了后在session超时事件中重置标志位
3、参考2,如果用户在session超时之前再次登录时判断一下用户IP,
如果IP相同,可以考虑仍然让其登录。不采用客户端组件,没有什么彻底的好办法。
当碰到如下情况时该分别怎么处理呢?
1:使用注销按钮正常退出
2:点击浏览器关闭按钮或者用Alt+F4退出
3:非正常退出,比如客户端系统崩溃或突然死机
====================
1、正常退出当然可以在退出代码中重置标志位
2、关闭浏览器则在session过期时间到了后在session超时事件中重置标志位
3、参考2,如果用户在session超时之前再次登录时判断一下用户IP,
如果IP相同,可以考虑仍然让其登录。不采用客户端组件,没有什么彻底的好办法。
---------
如果采用客户端组件的话,怎么采用呢?这方面客户端组件都有那些呢?
就是用这个
用户名为键 在线id为值(用户登陆自动获得一个在线id)
2者不匹配强制登出....
Sessionid,IP,用户名,登录时间,最后更新时间用户登录时:
1。检查表里有没有该用户名存在--〉如果不存在,表里写进去一条记录。
2。如果存在,检查此刻时间与最后更新时间的差值,是否大于某超时值。
3。如果存在,且未超时,用户登录失败。用户每次看页面时:
1。检查表里有没有该用户名存在--〉如果存在,IP对否?
2。如果不存在,用户未登录。用户正常退出:
1。根据Session里的数据,删除表里那条记录。用户非正常退出:
1。无法跟踪,下次用户登录,如果那时刻与最后更新时间的时间差,大于一特定超时值,用户可以登录注意:javascript里有这个事件:window.onunload
1:使用注销按钮正常退出
2:点击浏览器关闭按钮或者用Alt+F4退出
这两种情况都可以触发window.onunload