1. 程式人生 > >shiro登陸成功保存用戶信息到session

shiro登陸成功保存用戶信息到session

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