你的意思是把session再保存在数据库里面?
我前面说的现有那个系统的方法就是直接在数据库里面记录是否登录,也就是看user(state)是1还是0,和session没有关系。
你说的session有过期的概念是指一般服务器里面都会自己判断session["zhangsan"]是否过期吗。
【 在 sayinger (言者) 的大作中提到: 】
: 标 题: Re: 网站对于一个用户账号不允许同时多处登录,应该如何实现
: 发信站: 水木社区 (Wed Nov 4 09:54:50 2009), 站内
:
: session都应该有过期的概念,无论保存在哪里。
:
: 既然要保证不重复登录,那么必然需要一个单点(至少对同一个用户来说)来保存session,数据库是很自然的选择,当然,并不是唯一的。
:
: 由于http是无状态的,所以至少要做两件事:
: 1、记录下用户最后一次活动的时间。
: 2、根据用户最后一次活动的时间判断session是否过期。
:
: 【 在 GreyTooWolf (灰太狼) 的大作中提到: 】
: : 现在有一个系统,登录以后就在数据库中记录下状态为已登录。每次登陆前都要验证此状态为未登录。在用户退出时就在讲数据库中该列记为未登录。
: : 现在存在一个问题,如果用户是用直接关闭浏览器的方式离开了,或者用户的浏览器崩溃了,那么用户退出时实际上数据库此列值未被修改,因此用户将永远无法再登陆。如何解决浏览器崩溃时依然可以让用户退出的问题。
: : 另外我觉得在数据库中记录用户是否登录不是个好办法。有什么别的方法来解决单一登录的问题吗。
:
:
: --
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 202.106.68.*]
--
FROM 123.127.137.*