在上篇文章中,我们已经在 Spring Boot 项目中集成了 Shiro,并实现了权限控制。最后用 Redis 缓存用户权限信息的方式优化了 Shiro 鉴权的性能。 但这个项目有一个问题,即只能作为单体应用部署。原因是项目用于跟踪用户状态信息的 Session 实际上存储在内存中。如果对项目进行集群部署,多台服务器之间的内存中 Session 显然是无法共享的。 1.SessionDao Shiro 使用的 Session 存储方式是由 SessionManager 决定的: @Bean public Defa…