如何限制一个帐户只能在同时刻允许一个人登陆?谢谢!

j__jake 2006-04-30 10:10:09
比如一个管理系统,当我登陆我的帐号假如:admin 在我没有注销退出之前,别人不能使用这个帐户登陆??
小菜鸟诚心请教!谢谢!
...全文
322 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jauntlin 2006-04-30
  • 打赏
  • 举报
回复
我的解决办法也是弄个在线表来判断,关于突然关闭浏览的问题我是这样解决的,SQL里面可以做作业,可以每几分钟来判断一次该用户上次刷新的时间(当然,必需让用户客户端每几分钟刷新一次说明在线),如果超过了就是说不在了,把状态更新回去
atlasGS 2006-04-30
  • 打赏
  • 举报
回复
关于单点登陆的一些解决方法
作者: 未知 来源: 互联网 日期: 2006-4-8,9:3

最近CSDN中很多朋友都在讨论关于多系统单点登陆的问题。现在总结自己使用过的方式看看能否给朋友们增加一些思路。


在处理问题前先讨论下关于所谓的“多系统”的情况,按道理来说多系统会出现以下若干个情况:

1。使用的技术不一样,应用的平台不一样:如使用JSP和ASP。NET开发的,他们的应用平台都会不一样

2。所在的物理服务器不一致。未部署在同个服务器集群中。

3。使用的权限验证方式不一样,比如说有的使用SESSION,COOKIE,还有的使用STATE服务。

而“单点登入”要实现的目的是,在任何一个系统中登入都能对所有系统畅通无阻的访问。而要实现单点登陆的目的从大的方式来说可以分成3个方法:

1。登入时自动生成在所有系统的验证标志
本方法需要在各个子系统的登入页面放置于框架页面中,在框架的其他页面中隐藏其他子系统的登入页面,当点击“登陆”时触发JS事件把当前的用户名/密码提交到其他子系统的登陆页面中,并且一同提交。这样一次登入,其他所有系统也就登入了。
效率:这个方法几乎可以不要修改过多的代码,而且可以使用于所有的多系统情况,可以跨平台,跨服务器
缺点:登入完后,如果没有在各个子系统切换,那使用SESSION的子系统可能会发生登入超时现象。不过这个解决方法也简单,只需要在其他自系统的包含文件(如copyRight)中用IFRAME的方式包含其他子系统的更新在线状态的页面,这样就可以持续保持状态。

2。登入时只生成本系统的验证标志,在转入其他系统中时,从httpContext中通过验证的标志中转化出当前系统需要的验证,当然这个必须在所有系统在同个WEB服务器,并且使用同种技术的前提下。

3。使用数据库来记录当前的在线信息,登入后就往数据库增加在线信息,并且存入客户端的能够体现其唯一性的信息(IP+机器名等)。
当某个系统要获取当前用户是否登入的信息时先判断该子系统的登入信息是否存在,如果不存在,则再判断状态数据库中是否存在当前客户端的在线信息。
效率:这个方法效率是比较高的,可以使用于所有的多系统情况,可以跨平台,跨服务器。
缺点:要深入修改各个程序的代码

先写这么多,再补充。
j__jake 2006-04-30
  • 打赏
  • 举报
回复
谢谢各位热心的朋友!
liujiayu10(活着就好)朋友你好,你这方法我也想过,但是假如我在没注销退出之前突然死机怎么办,那数据库里面的标记不是一直都是一吗?


liaoxin009(小辛) 你好,使用session的话做为标记的话,这个变量可以在各用户之间共享吗?
我的理解是session是针对用户的
wangzhe811225 2006-04-30
  • 打赏
  • 举报
回复
用一个线用户表吧,我以前就是这么做的
孟子E章 2006-04-30
  • 打赏
  • 举报
回复
http://dotnet.aspx.cc/ShowDetail.aspx?id=CF5FFABC-CFE1-4368-3C13-9B4FCD7C7168
王哈呵 2006-04-30
  • 打赏
  • 举报
回复
单次登陆的问题,可以用cache,session,cookies技术,很简单的
NetSpider9804040 2006-04-30
  • 打赏
  • 举报
回复
好!
zenkishi 2006-04-30
  • 打赏
  • 举报
回复
怎么玩〉?我也想看看
liujiayu10 2006-04-30
  • 打赏
  • 举报
回复
可以用数据库,登录时记录为1,然后注销时改为0,每次登录都检查这个字段,如果这个该用户的这个字段为1的话就不允许登录!
liujiayu10 2006-04-30
  • 打赏
  • 举报
回复
可以用数据库,登录时记录为1,然后注销时改为0,每次登录都检查这个字段,如果这个该用户的这个字段为1的话就不允许登录!
sunzhong2003 2006-04-30
  • 打赏
  • 举报
回复
你弄一个在线用户列表,然后在里面查找不就行了吗

62,073

社区成员

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

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

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

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