积极答复者
再来挑战单点登录!欢迎各位指点。

问题
-
案例:
现在有个用户名为player的账号登录了,我用一个变量保存了(在数据库里面写字段表示,或者用application等保存都可以)player的状态为登录。
现在又有人用player登录,那么我会检测player的状态看他是否为登录,是登陆,那么我给出提示。
现在不小心电脑重启了,属于异常退出,没有把player的状态改为未登录。
那么当player在别的地方登录,就再登不上去了,因为登录状态还是一直保持的登录。
那么现在问题来了:
向刚才那样异常退出,登录状态没有改变回来的情况,player在别的地方再次登陆(这时player根本没有处于登录状态),怎么可以检查到该账户已经掉线或断开了,并把登陆状态改成未登入和让player登录。
答案
-
把sessionID保存到DB里面去,begin request的时候去checkDB保存的是否跟当前的一样,不一样的话就转到在其它地方重新登陆的错误画面。
session timeout的时候,把DB的session清空
登陆的时候,如果发现在session id不是空,提示“您可能在其它地方已经登陆本系统,如果继续的话,原来的登陆将被取消,是否继续?”如果用户继续的话,就把session id改成当前的。如果session为空,直接保存就ok了
微软认证程序开发专家:Web Developer (MCPD: Web Developer)- 已标记为答案 KeFang Chen 2009年4月27日 9:19
全部回复
-
把sessionID保存到DB里面去,begin request的时候去checkDB保存的是否跟当前的一样,不一样的话就转到在其它地方重新登陆的错误画面。
session timeout的时候,把DB的session清空
登陆的时候,如果发现在session id不是空,提示“您可能在其它地方已经登陆本系统,如果继续的话,原来的登陆将被取消,是否继续?”如果用户继续的话,就把session id改成当前的。如果session为空,直接保存就ok了
微软认证程序开发专家:Web Developer (MCPD: Web Developer)- 已标记为答案 KeFang Chen 2009年4月27日 9:19