shiro登陸成功保存用戶信息到session
阿新 • • 發佈:2017-08-21
bool rri row shiro orm 文件中 bean ive quest
我們經常會需要把登錄成功後的用戶信息保存到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>
這樣就可以了,是不是很簡單。
原創文章,轉載請註明出處。
shiro登陸成功保存用戶信息到session