用户唯一登录该如何实现!

java__net 2010-06-30 10:31:00
想要这样的效果,当在a机器用a用户登录,另一个处b机器也用a用户登录的时候,a机器处要显示该用户已在其他处登录,且a机器上的用户状态失效。


请问怎样的效果该如何设计,请大家给个思路。
...全文
506 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
别递烟哥不会 2010-07-01
  • 打赏
  • 举报
回复
友情帮顶
SSO不是解决多个系统一个账户的问题吗?
ganlianter 2010-07-01
  • 打赏
  • 举报
回复
sso,首先可以将你的数据库里设计出一块登陆状态纪录用户登陆信息,比如说时间,ip,登陆次数,是否已经在线等等,每次登陆的时候更新这块内容,同时这又牵扯到一个问题是否用户永久在线,你还得在程序里写上active的timespan,这样便于判断第二次登陆时是否有效等问题
这里还有一些问题要考虑,首先页面在没有触发任何情况下我是不能告知用户是否已经在其他地方登陆了,这势必要求页面必须定时监测,如果是html等静态页面那么就得用js或者ajax去数据库取相关信息,为了避免流量问题还要考虑到缓存阿之类的;如果说你允许用户在不进行操作的同时浏览已经加载完的页面的话,你需要对每个功能进行切面编程,这样的话便于后期修改,既每次触发新事件时判断用户登陆状态比如说比较下最新的登陆时间啊登陆状态阿上次登陆ip是否一致拉
再如果说你在sso基础上又做了一块联名登陆,ok又复杂了,那最好把登陆信息和联名信息分开
donglishengaccp 2010-07-01
  • 打赏
  • 举报
回复
跟他们说的一样吧 就是你数据库的ID是不唯一,还有就是设计数据库的时候 会员跟非会员还不一样呢,你是不是这出了问题
觉v醒 2010-07-01
  • 打赏
  • 举报
回复
http://blog.csdn.net/kongwei521/archive/2008/06/26/2589038.aspx
Seven_lau 2010-07-01
  • 打赏
  • 举报
回复
BS也实现的了吧 我试过我同时在两台电脑登陆一个QQ的牧场 然后同时操作、结果总登陆失败、还要重新登陆、不知道怎么实现。 期待答案。
风骑士之怒 2010-07-01
  • 打赏
  • 举报
回复
设计有定时检测问题,BS也可以,就是麻烦,
xcf007 2010-07-01
  • 打赏
  • 举报
回复
登录前检查数据库里的登录标记是否为1(0表示未登录),估计还得加上数据库多线程的处理吧,加锁放在同时修改数据库。
hylx2006 2010-06-30
  • 打赏
  • 举报
回复
似乎BS情况下,实现这种难度较高啊!
a15086927464 2010-06-30
  • 打赏
  • 举报
回复
buj
jianshao810 2010-06-30
  • 打赏
  • 举报
回复
记录到数据库里应该可以,判断ip
lijie_ai 2010-06-30
  • 打赏
  • 举报
回复
http://hi.baidu.com/%E9%A2%93%E5%BA%9F%E5%82%BB%E9%B1%BC/blog/item/7f3ca500bb0291db277fb5dc.html
lijie_ai 2010-06-30
  • 打赏
  • 举报
回复
http://blog.csdn.net/webwalker/archive/2008/02/18/2102325.aspx看一下这个
java__net 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
单点登录,记录用户登录信息
[/Quote]
那怎么把那边的用户踢下线啊?
wuyq11 2010-06-30
  • 打赏
  • 举报
回复
单点登录,记录用户登录信息

62,050

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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