丵鹰 2020-09-16 17:23 采纳率: 0%
浏览 618

shiro如何获取session中的在线人数

sessionDAO.getActiveSessions()获取到的用户数都是0,
代码如下

//apache shiro获取所有在线用户
        Collection<Session> sessions = sessionDAO.getActiveSessions();
        for(Session session:sessions){
            if (session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY) == null) {
                continue;
            } else {
                SimplePrincipalCollection principalCollection = (SimplePrincipalCollection) session
                        .getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY);
                UserEntity userDo = (UserEntity) principalCollection.getPrimaryPrincipal();
            }
            String loginName1 = String.valueOf(session.getAttribute(DefaultSubjectContext.PRINCIPALS_SESSION_KEY));
        }
  • 写回答

1条回答 默认 最新

报告相同问题?