python+django 如何限制同一账号同时登陆(被这问题搞崩溃了)

jinquecan 2010-09-19 10:24:32
如题,python+django做的一个网站,想让同一个账号同时只能登陆一次,就是说下一个用这账号登陆的人必须等前一个人退出了才能登陆

问题:
1、如何判断当前账号是登陆的
2、如何判断用户已经退出登陆了


想了一些方法去实现,python+django是新学,实在是弄不出来

跪求各位大大帮忙
...全文
1464 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lokii 2010-10-13
  • 打赏
  • 举报
回复
登陆成功时,产生一个session,同时在一个全局的dict里面记录用户名。
session失效时,同时删除dict。

当用户登陆时,判断dict是否有这个用户,如果有则返回失败。

如果非正常掉线,用户在一定时间内没有任何操作,session会自动失效。
失效后,用户可以重新登陆。
playmud 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 amu9900 的回复:]
2楼办法不行,不同浏览器去访问session不同。

LZ这样处理,给用户加上一个状态字段,定义
0为登陆
1已登陆

当用户登陆的时候除了验证其他的登陆逻辑外加上验证这个状态。是1就不让他登陆了

这个状态在显示所有已登陆的用户的时候也有用。
[/Quote]

非正常掉线呢?
obullxl 2010-10-12
  • 打赏
  • 举报
回复
其实就是把用户登录信息保存在一个共享的单点中,比如数据库,比如缓存。每次用户提交登录的时候,都去看下,该用户是否已经登录,当用户退出时,清空其值。
amu9900 2010-09-26
  • 打赏
  • 举报
回复
没说session不记录,要记录用户状态信息肯定要记录session的,只是说session不能满足楼主的需求而已。

两码事。
notax 2010-09-26
  • 打赏
  • 举报
回复
session 可能还是要记录一下, 不然流览器分页的话会不会也进不去 ?
amu9900 2010-09-25
  • 打赏
  • 举报
回复
额。。。LS。。SORRY。、、、。。
iambic 2010-09-20
  • 打赏
  • 举报
回复
2楼是我,你说的那个是1楼。
amu9900 2010-09-20
  • 打赏
  • 举报
回复
2楼办法不行,不同浏览器去访问session不同。

LZ这样处理,给用户加上一个状态字段,定义
0为登陆
1已登陆

当用户登陆的时候除了验证其他的登陆逻辑外加上验证这个状态。是1就不让他登陆了

这个状态在显示所有已登陆的用户的时候也有用。
a093725846a 2010-09-19
  • 打赏
  • 举报
回复
思路简单。
cariana 2010-09-19
  • 打赏
  • 举报
回复
我也进来学习学习
iambic 2010-09-19
  • 打赏
  • 举报
回复
基本思路不是很简单么,账户登录时就在后台把它记录在某个数据结构了,退出时从数据结构里删掉。每次登录前先检查下这个数据结构。
zheng_j_c 2010-09-19
  • 打赏
  • 举报
回复
你登录成功的时候,将用户名密码保存在session里,在每次登录的时候判断一下用户名和密码是否存在。将前一个用户退出时,清空session

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

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