日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shiro教程:记住我功能

發布時間:2025/3/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shiro教程:记住我功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

雖然不太推薦使用記住我功能, 但是,還是講一下這個功能,實際上大多數使用session來管理。

1、applicationContext-shiro.xml文件

<!-- 安全管理器 --><bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"><!-- 配置記住我 --><property name="rememberMeManager" ref="rememberMeManager"></property></bean><!-- 記住密碼Cookie --><bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie"> <constructor-arg value="rememberMe"/><!-- 7天,采用spring el表達式來計算,方便修改 --><property name="maxAge" value="#{7 * 24 * 60 * 60}"/><property name="domain" value=".yzixi.com"/> </bean><!-- rememberMe管理器,cipherKey生成見{@code Base64Test.java} --><bean id="rememberMeManager" class="org.apache.shiro.web.mgt.CookieRememberMeManager"><property name="cookie" ref="rememberMeCookie"/> </bean>

2、登錄頁面

<div class="form-actions"><div class="pull-left"><label class="rememberme mt-checkbox mt-checkbox-outline"><input type="checkbox" name="isRememberMe" value="1" /> 記住我<span></span></label></div></div>

3、controller

@RequestMapping(value = "/login", method = RequestMethod.POST)@ResponseBodypublic LeeJSONResult doPostlogin(String username, String password, String captcha, @RequestParam(value="isRememberMe", defaultValue="0") Integer isRememberMe, HttpServletRequest request, HttpServletResponse response) {if (StringUtils.isBlank(username)) {return LeeJSONResult.errorMsg("用戶名不能為空");}if (StringUtils.isBlank(password)) {return LeeJSONResult.errorMsg("密碼不能為空");}if (!itzixiCaptcha.validate(request, response, captcha)) {return LeeJSONResult.errorMsg("驗證碼錯誤, 請重新輸入...");}Subject user = SecurityUtils.getSubject();UsernamePasswordToken token = new UsernamePasswordToken(username, password.toCharArray());if (isRememberMe == 1) {token.setRememberMe(true);}try {user.login(token);} catch (UnknownAccountException e) {return LeeJSONResult.errorMsg("賬號不存在");} catch (DisabledAccountException e) {return LeeJSONResult.errorMsg("賬號未啟用");} catch (IncorrectCredentialsException e) {return LeeJSONResult.errorMsg("密碼錯誤");} catch (RuntimeException e) {return LeeJSONResult.errorMsg("未知錯誤,請聯系管理員");}return LeeJSONResult.ok();}

主要是下面這個代碼

if (isRememberMe == 1) {token.setRememberMe(true);}

當我們選中了記住我后,設置到token中即可。

總結

以上是生活随笔為你收集整理的shiro教程:记住我功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。