单点登录的目的:
1.实现一处登录,多系统可用
2.实现一个账号在同一时间只能在一个设备登录
实现逻辑:
1.服务端增加缓存服务器redis、mamcache,用于存储session,里边存放mac地址,每次登录更新session,session设置定期清楚代码,避免存储过多导致内存占用过多
2.客户端携带session进行访问,每次访问都进行比对mac地址,如果地址不一样,则抛出错误,并提示在另一台设备登录
*注:如果是1000人左右的小系统,没有必要使用redis等缓存服务,这样反而增加开发难度,可以使用currentHashMap等线程安全的容器进行存储数据。