Session共享是用在集群的项目中。我使用Redis实现session共享。
普通项目:
这样一个账号可以在多个地方进行登录。在这个基础上修改实现一个账号只能登录一次,再次登录会把上次的登录的给挤掉,类似于QQ。
难点:怎么通过sessionId销毁session。因为session都被redis统一管理。如何删除session就变得简单起来了。
@Resource(name="sessionRepository")
private SessionRepository<ExpiringSession> sessionRepository;
//通过sessionId删除session
sessionRepository.delete(sessionId);
表结构:
源码下载: