shiro密码正确也会匹配错误_Shiro学习之——Shiro与Web集成
Shiro與Web集成,主要是通過配置一個ShiroFilter攔截所有URL,其中ShiroFilter類似于如Strut2/SpringMVC這種web框架的前端控制器,是所有請求入口點,負責根據(jù)配置(如ini配置文件),判斷請求進入URL是否需要登錄/權限等工作。
Web項目集成Shiro
步驟:
1:導入相關依賴jar包, 多出一個shiro-web jar包
2:在web.xml文件中配置shiro的過濾器shiroFilter
類似于Spring的那個監(jiān)聽器的作用
3:配置shiro.ini配置文件
原理:
Shiro的默認過濾器
anon:匿名攔截器,即不需要登錄即可訪問;一般用于靜態(tài)資源過濾;示例“/static/**=anon”
authc:表示需要認證(登錄)才能使用;示例“/**=authc”
主要屬性:usernameParam:表單提交的用戶名參數(shù)名( username); passwordParam:表單提交的密碼參數(shù)名(password); rememberMeParam:表單提交的密碼參數(shù)名(rememberMe); loginUrl:登錄頁面地址(/login.jsp);successUrl:登錄成功后的默認重定向地址; failureKeyAttribute:登錄失敗后錯誤信息存儲key(shiroLoginFailure);
authcBasic:Basic HTTP身份驗證攔截器,主要屬性: applicationName:彈出登錄框顯示的信息(application);
roles:角色授權攔截器,驗證用戶是否擁有資源角色;示例“/admin/**=roles[admin]”
perms:權限授權攔截器,驗證用戶是否擁有資源權限;示例“/user/create=perms["user:create"]”
user:用戶攔截器,用戶已經(jīng)身份驗證/記住我登錄的都可;示例“/index=user”
logout:退出攔截器,主要屬性:redirectUrl:退出成功后重定向的地址(/);示例“/logout=logout”
port:端口攔截器,主要屬性:port(80):可以通過的端口;示例“/test= port[80]”,如果用戶訪問該頁面是非80,將自動將請求端口改為80并重定向到該80端口,其他路徑/參數(shù)等都一樣
rest:rest風格攔截器,自動根據(jù)請求方法構建權限字符串(GET=read, POST=create,PUT=update,DELETE=delete,HEAD=read,TRACE=read,OPTIONS=read, MKCOL=create)構建權限字符串;
示例“/users=rest[user]”,會自動拼出“user:read,user:create,user:update,user:delete”權限字符串進行權限匹配(所有都得匹配,isPermittedAll);
ssl:SSL攔截器,只有請求協(xié)議是https才能通過;否則自動跳轉會https端口(443);其他和port攔截器一樣;
注:
anon,authcBasic,auchc,user是認證過濾器,
perms,roles,ssl,rest,port是授權過濾器
總結
以上是生活随笔為你收集整理的shiro密码正确也会匹配错误_Shiro学习之——Shiro与Web集成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎样打开加密的文件_如何在P
- 下一篇: birt脚本for循环_Shell脚本应