shiro登陆成功保存用户信息到session
哈哈
阅读:1011
2020-06-16 18:04:18
评论:0
我们经常会需要把登录成功后的用户信息保存到session中,但是如果我们使用shiro做权限管理,该怎么去实现呢?其实很简单
第一步:写一个类CustomFormAuthenticationFilter继承FormAuthenticationFilter,并重写onLoginSuccess方法,以下是我的实现
@Override protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, ServletResponse response) throws Exception { //获取已登录的用户信息 ActiveUser activeUser = (ActiveUser) subject.getPrincipal(); //获取session HttpServletRequest httpServletRequest = WebUtils.toHttp(request); HttpSession session = httpServletRequest.getSession(); //把用户信息保存到session session.setAttribute("activeUser", activeUser); return super.onLoginSuccess(token, subject, request, response); }
第二步:在spring-shiro配置文件中注入该bean
<bean id="formAuthenticationFilter" class="com.lgf.bookstore.shiro.CustomFormAuthenticationFilter"> <property name="usernameParam" value="username" /> <property name="passwordParam" value="password" /> </bean>
这样就可以了,是不是很简单。
原创文章,转载请注明出处。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。