在spring boot中集成shiro,默认的用户登录信息JSESSIONID生成规则为UUID,可能需要自定生成规则,可实现一个SessionIdGenerator实现
1 实现 SessionIdGenerator
public class SessionIdMine implements SessionIdGenerator {
@Override
public Serializable generateId(Session session) {
return "kangaroohy" + UUID.randomUUID().toString().replace("-", "");
}
}
2 ShiroConfig
ShiroConfig中自定义一个sessionDAO,并配置到shiro上下文
@Bean(name = "sessionDAO")
public EnterpriseCacheSessionDAO sessionDAO() {
EnterpriseCacheSessionDAO abstractSessionDAO=new EnterpriseCacheSessionDAO();
abstractSessionDAO.setSessionIdGenerator(new SessionIdMine());
return abstractSessionDAO;
}
@Bean(name = {"sessionManager"})
public SessionManager sessionManager() {
DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
sessionManager.setSessionDAO(sessionDAO());//放入上下文
sessionManager.setSessionValidationSchedulerEnabled(true);
sessionManager.setSessionIdUrlRewritingEnabled(false);
sessionManager.setDeleteInvalidSessions(true);
return sessionManager;
}
以上。