我正在我的项目中实现一个 redis-shiro 会话管理功能,目前我对 Shiro 和 Redis 的信息很少。我想知道调用以下内容是否会每次都命中 redis 数据库,以检查 redis 数据库中是否存在任何会话 Id。服务中的代码Subject currentUser = SecurityUtils.getSubject(); Session session = currentUser.getSession();控制器中的代码: public String getSomrthing(@CookieValue("JSESSIONID") String fooCookie){ callingSomeServiceMethod(fooCookie); return "It does not matter"; }我们是否必须像我们的服务中那样手动匹配sentialId,或者Shiro会自动匹配它,因为我的应用程序将在多实例环境中运行。Subject currentUser = SecurityUtils.getSubject(); if(currentUser.getId.equals(fooCookie)){ //.....Some Code //.....Some Code }
1 回答

慕码人2483693
TA贡献1860条经验 获得超9个赞
会话将为每个请求最多查找一次,具体取决于您配置的任何其他缓存。
但是,您不会直接从控制器管理/查找会话Id。所有这些逻辑都是透明的,并由 Shiro 和/或您的 servlet 容器的会话管理处理。
添加回答
举报
0/150
提交
取消