您的位置:首页 > 其它

单点登录(多台机只能一个用户登录,把另一用户踢下)思路

2011-11-11 10:34 267 查看
1、写一个保存SessionInfo的类,用户ID,SessionID等。

2、写一静态Hashtable保存用户Session map(保存1的SessionInfo类,key保存的是用户ID)

3、在写Session的方法里,先通过用户ID(key)从Hashtable里获取SessionInfo类(1的SessionInfo类),如果存在此SessionInfo类,则移除Session;如果不存在则封装SessionInfo对象,把Session的ID赋值给SessionInfo对象的SessionID,然后以SessionInfo为Session的值保存Session,并以用户ID为键,SessionInfo为值,保存在Hashtable。

4、在读取Session验证的BasePage页中,获取当前Session的ID,再获取Hashtable中SessionInfo对象的SessionID,如果Hashtable中SessionInfo对象为空则跳到出错或登录页,如果不为空,则判断两个SessionID是否相等,如果不相等,则跳到出错页或登录页,如果相等表示还是当前用户。

5、在退出时也重复4的操作,只是如果两个SessionID相等,则移除Hashtable中的SessionInfo对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐