本段代码实现了限制用户重复登录的功能。
功能说明:
假如有一个账号在地点1登录后,同时这一账号地点2登录时,就会把地点1登录的账号挤下去,地点1的账号不能做修改数据库的操作。主要是利用拦截器检验每次用户登录的session和第一次用户登录时保存在Map里面的session是否相同,如果不同把上一个 用户的session清空。
实现原理:
同一账号第一次在地点1登陆时,Map<String,UserMap>中的UserMap有两个变量会存储当时用户登陆的ip和session(把用户的email放到session中),Map的key值为session中的email值(利用到用户名唯一的特点),同一账号同时在地点2登陆时重新获得的session和第一次在地点1登陆时map里面保存的session不等时清空,同时保留新的地点2账号信息。
实现代码如图: