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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

shiro表单认证(系统默认的form认证器)

發布時間:2025/3/20 windows 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shiro表单认证(系统默认的form认证器) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:http://blog.csdn.net/zcl_love_wx
注意:此文是基于springMVC框架的,所以關于springMVC的配置這里不說,后面有時間專門寫一個shiro整合spring的文章

1.shiro表單認證流程

2.shiro認證代碼

2.1 頁面代碼

這里的method值必須為post,否則不會執行認證過程而直接執行在spring.xml里配置的loginUrl指定的路徑 <form action="<%=basePath%>login.do" method="post"> username:<input type="text" name="username"><p> password:<input type="password" name="password"> <p>${msg} <input type="submit" value="submit"> </form>

2.2 web.xml文件需要添加的代碼

<filter-name>標簽里的過濾器名字,應與spring.xml里配置的過濾器名一致

<filter> <filter-name>shiroFilter</filter-name> <filter-class> org.springframework.web.filter.DelegatingFilterProxy </filter-class> </filter> <filter-mapping> <filter-name>shiroFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

2.3 控制器代碼

realm 認證不通過時,會將錯誤信息添加到request中,這樣在下面的方法中,可通過shiroLoginFailure這個鍵獲取到錯誤信息的類名。

// 用戶登陸提交 @RequestMapping("/login.do") public String loginsubmit(HttpServletRequest request,Model model)throws Exception {// shiro在認證過程中出現錯誤后將異常類路徑通過request返回String exceptionClassName = (String) request.getAttribute("shiroLoginFailure");if(exceptionClassName!=null){if (UnknownAccountException.class.getName().equals(exceptionClassName)) {System.out.println("賬號不存在");} else if (IncorrectCredentialsException.class.getName().equals(exceptionClassName)) {System.out.println("用戶名/密碼錯誤");} else if("randomCodeError".equals(exceptionClassName)){System.out.println("驗證碼錯誤");} else{System.out.println("未知錯誤");}}return "/login.jsp"; }

2.3 自定義realm的代碼

/**** * 自定義Realm * * @author Peter* @date 2016-06-03 * */ public class MyShiroRealm extends AuthorizingRealm { @Overridepublic String getName() {return"customRealm";}// 支持什么類型的token@Overridepublic boolean supports(AuthenticationToken token) {return token instanceof UsernamePasswordToken;}/*** * 獲取授權信息 */ @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection pc) { //省略...... return null; } /*** * 獲取認證信息 */ @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken at) { UsernamePasswordToken token = (UsernamePasswordToken) at; //這里也有用戶名與密碼 // 接收表單的用戶名 String username = (String) at.getPrincipal();if (username != null && !"".equals(username)) { //通過用戶名去數據查回用戶操作//省略......//模擬數據庫查加的用戶名為:"張春玲",密碼為:"123456"if("張春玲".equals(username) && "123456".equals(token.getUsername())){}else{throw new IncorrectCredentialsException(); //拋出密碼錯誤異常 }} else{throw new UnknownAccountException(); //沒有該用戶異常} return null; } }

2.4 spring.xml需要添加的代碼

注意,loginUrl指定的路徑必須是authc(即認證通過才可訪問),否則請求不會被realm攔截而直接執行了loginUrl指定的路徑

<!-- Shiro的Web過濾器 --><!-- loginUrl認證提交地址,如果沒有認證將會請求此地址進行認證,請求此地址將由formAuthenticationFilter進行表單認證 --><!-- successUrl可配置登錄成功后的跳轉路徑,如果不配的話,就自動跳轉到請求登錄時的路徑,即上一個路徑。所以建議不配 --><bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"><property name="securityManager" ref="securityManager"/><property name="loginUrl" value="/login.do"/><property name="unauthorizedUrl" value="/refuse.jsp"/><!-- 過慮器鏈定義,從上向下順序執行,一般將/**放在最下邊 --><property name="filterChainDefinitions"><value>/login.do = authc<!-- 登錄的地址必須是authc,不然也不會執行realm而直接執行登錄路徑了 --> /** = authc <!-- user表示身份認證通過或通過記住我認證通過的可以訪問 --></value></property> </bean><!-- 注入 --><bean id="myShiroRealm" class="com.mvc.realm.MyShiroRealm"> </bean> <!-- 安全管理器 --><bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="realm" ref="myShiroRealm"></property> </bean>

總結

以上是生活随笔為你收集整理的shiro表单认证(系统默认的form认证器)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 蜜桃成人在线 | 天堂av亚洲av国产av电影 | av日韩国产| 自拍亚洲欧美 | 西西大胆午夜视频 | 小柔好湿好紧太爽了国产网址 | 日本人妻换人妻毛片 | 欧美放荡办公室videos4k | 黄色aa网站 | 香蕉大人久久国产成人av | 视频免费在线 | 国产在线传媒 | 欧美视频一区二区在线观看 | 黄色国产一级 | 四虎影院黄色 | 国产又粗又长又爽 | 欧美影视一区二区三区 | 国产片天天弄 | 精品在线视频一区二区三区 | 久久九九久精品国产免费直播 | 综合五月婷婷 | 亚洲天堂免费视频 | 美国av毛片 | 成人动漫免费观看 | 中文字幕人妻一区二区 | 国产麻豆视频 | 亚洲а∨天堂久久精品2021 | 美女黄色在线观看 | 免费aa视频 | 日韩精品一区二区三区高清免费 | 影音先锋久久 | 一区二区三区在线不卡 | 男男啪啪网站 | 制服丝袜先锋影音 | 91香蕉视频官网 | 蜜桃视频黄色 | 国产无遮挡免费 | 亚洲区免费 | 国产天堂在线 | 91香蕉久久 | 成人影 | 亚洲欧美日韩成人 | 中文字幕在线观看二区 | 美女扒开让男人桶爽 | 动漫一区二区 | 综合网婷婷 | 射黄视频 | 国产农村老头老太视频 | 在线免费av播放 | 五月天激情四射 | 日韩午夜精品视频 | 在线免费国产视频 | 日韩第一页在线观看 | 国产精品久久久久久久久久久久久久久久 | 大桥未久av一区二区三区中文 | 国产人成视频在线观看 | 国产亚洲成av人片在线观看桃 | a黄色片| 1024精品一区二区三区日韩 | 女人的av | jvid乐乐 | 中文字幕一区二区三区精华液 | 国产嫩草影院久久久 | 久久人人爽人人爽人人av | 国产精品视频在线免费观看 | 午夜在线观看视频 | 亚洲黄色片免费看 | 精品国产97 | 国产高清不卡av | 在线观看免费福利 | 国产女人高潮的av毛片 | 精品中文字幕一区 | 新狠狠干 | 国产亚洲精品久久久久久打不开 | 成人春色影视 | 日韩一区二区三区免费 | 嫩草视频在线免费观看 | 亚洲吧 | 九九九九久久久久 | 欧美乱妇15p | 国产污污网站 | 三级爱爱 | 丰满人妻一区二区三区免费 | 国产原创在线视频 | 你懂的在线免费观看 | 欧美最猛黑人xxxx黑人猛交 | 亚洲私人影院 | 亚洲情侣在线 | 特级一级片 | 成年人在线视频观看 | 日本精品视频一区 | 精品乱码一区二区三四区视频 | 蜜臀视频一区二区 | 91免费在线视频观看 | 国产精品一国产精品 | 日韩成人高清 | 91精彩视频在线观看 | 特级黄色网 | 啪视频免费 |