管理端更新在线用户session信息

管理端更新在线用户session信息,第1张

管理端更新在线用户session信息

要实现管理端对在线用户一个状态的管控,需要修改在线用户的session信息

代码如下所示

import org.apache.shiro.session.Session;
import org.apache.shiro.session.mgt.eis.SessionDAO;
import org.apache.shiro.subject.Subject;


    //引用shiro管理的SessionDao
	@Autowired
	private SessionDAO sessionDAO;

    @Override
    public void dealSession(String userId, int type) {
        //获取所有的在线session
       Collection sessions = sessionDAO.getActiveSessions();
       for(Session session:sessions){
           //通过userId和在登录时记录到session会话的userId做对比,在线用户是否存在该用户
          if(session.getAttribute("userId") != null &&     userId.equals(session.getAttribute("userId").toString())){
            //通过session获取到该用户的所有信息
             QcodeUser user = (QcodeUser)session.getAttribute("userInfo");
             user.setIsSilence(type);
             break;
          }
       }
       return;
    }

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5582941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存