最近使用shiro框架来实现一个权限管理的需求,但在使用session保存一个key值时发现怎么获取都为空。
debug后发现shiro框架会封装springmvc的request。如下图:这可能就导致了无法通过HttpServletRequest.getSession().setAttribute()方法来保存session,key值也自然为空。
试用了几个在前端请求加域的方法没有效果。
最终无意撞出一个解决办法:
不要使用HttpServletRequest来获取session,直接使用HttpSession就可以避免无法保存的问题,debug显示httpSession不会被shiro框架的过滤器封装。