1、关键的代码
//关键代码
DefaultWebSecurityManager securityManager = (DefaultWebSecurityManager) SecurityUtils.getSecurityManager();
DefaultWebSessionManager sessionManager = (DefaultWebSessionManager) securityManager.getSessionManager();
MemorySessionDAO sessionDao = (MemorySessionDAO) sessionManager.getSessionDAO();
Collection<Session> sessions = sessionDao.getActiveSessions();
for(Session session:sessions){
Object obj = session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY);
if(null!=obj){
SimplePrincipalCollection spc = (SimplePrincipalCollection)session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY);
//我自定义的用户信息
UserInfo ui = (UserInfo) spc.getPrimaryPrincipal();
//此处可以处理自己的逻辑
}
}
2、前提条件
sessionManager必须用DefaultWebSessionManager这个
@Bean(name = "sessionManager")
public SessionManager getDefaultWebSessionManager() {
return new DefaultWebSessionManager();
}