springmvc集成shiro后,session、request姓汪还是姓蒋?
1. 疑问 我们在项目中使用了spring mvc作为MVC框架,shiro作为权限控制框架,在使用过程中慢慢地产生了下面几个疑惑,本篇文章将会带着疑问慢慢地解析shiro源码,从而解开心里面的那点小纠纠。 (1) 在spring controller中,request有何不同呢 ? 于是,在controller中打印了request的类对象,发现request对象是org.apache.shiro.web.servlet.ShiroHttpServletRequest ,很明显,此时的 request 已经被shiro包装过了。 (2)众所周知,spring mvc整合shiro后,可以通过两种方式获取到session: 通过Spring mvc中controller的request获取session Session session = request.getSession(); 通过shiro获取session Subject currentUser = SecurityUtils.getSubject(); Session session = currentUser.getSession(); 那么,问题来了, 两种方式获取的session是否相同呢 ? 这里需要看一下项目中的shiro的securityManager配置,因为配置影响了shiro session的来源