以前做个一个基于ip的单点登录
比如用户在A登陆后,再在B登陆时会提示用户已经在A登陆,然后后续操作是把A踢掉还是不让登陆就好说了,这个也比较简单,就是记录下登陆ip,然后做下比较,用户进行操作时会去验证记录的ip和用户ip是否一致。
如果是基于同一台机器,不妨在登陆时算一个hash码记录,然后另一次登陆时再产生一个hash码,两相比较,跟ip的比较也差不多,这个就可以实现单点登陆的效果了。
其实单点登陆不是不让用户再次登陆,而是应该把用户其他已过期的登陆踢掉。
当然,如果确实是想用户登陆一次就不允许其他登陆操作的话也不是没有办法,可以用hash及轮询来实现,比如10秒钟自动更新一次当前状态之类的
【 在 JulyClyde (torred) 的大作中提到: 】
: 标 题: Re: 网站对于一个用户账号不允许同时多处登录,应该如何实现
: 发信站: 水木社区 (Wed Nov 4 12:12:22 2009), 站内
:
: 为啥要保存在数据库里面?
: 应用服务器本身会有session过期的概念的,在那里处理
: 【 在 GreyTooWolf (灰太狼) 的大作中提到: 】
: : 你的意思是把session再保存在数据库里面?
: : 我前面说的现有那个系统的方法就是直接在数据库里面记录是否登录,也就是看user(state)是1还是0,和session没有关系。
: : 你说的session有过期的概念是指一般服务器里面都会自己判断session["zhangsan"]是否过期吗。
: : ...................
:
: --
: 最新博文《yum的$releasever真是太反动了》
http://www.julyclyde.org/?p=275: 优秀Linux发行版应该具备的基本素质
http://www.julyclyde.org/?p=252:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 124.205.200.*]
--
FROM 202.106.180.*