Shiro權限管理的過濾器解釋

filterChainDefinitions參數(shù)說明,注意其驗證順序是自上而下默認過濾器( 10個)

1. anon -- org.apache.shiro.web.filter.authc.AnonymousFilter  
2. authc -- org.apache.shiro.web.filter.authc.FormAuthenticationFilter  
3. authcBasic -- org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter  
4. perms -- org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter  
5. port -- org.apache.shiro.web.filter.authz.PortFilter  
6. rest -- org.apache.shiro.web.filter.authz.HttpMethodPermissionFilter  
7. roles -- org.apache.shiro.web.filter.authz.RolesAuthorizationFilter  
8. ssl -- org.apache.shiro.web.filter.authz.SslFilter  
9. user -- org.apache.shiro.web.filter.authc.UserFilter  
10 logout -- org.apache.shiro.web.filter.authc.LogoutFilter  
anon:例子/admins/**=anon   #沒有參數(shù),表示可以匿名使用。   
authc:例如/admins/user/**=authc   #表示需要認證(登錄)才能使用,沒有參數(shù)   
roles:例子/admins/user/**=roles[admin], #參數(shù)可以寫多個,多個時必須加上引號,并且參數(shù)之間用逗號分割,當有多個參數(shù)時,例如admins/user/**=roles["admin,guest"], 每個參數(shù)通過才算通過,相當于hasAllRoles()方法。   
perms:例子/admins/user/**=perms[user:add:*], #參數(shù)可以寫多個,多個時必須加上引號,并且參數(shù)之間用逗號分割,例如/admins/user/**=perms["user:add:*,user:modify:*"],當有多個參數(shù)時必須每個參數(shù)都通過才通過,想當于isPermitedAll()方法。   
rest:例子/admins/user/**=rest[user], #根據請求的方法,相當于/admins/user/**=perms[user:method] ,其中method為 post,get,delete等。   
port:例子/admins/user/**=port[8081], #當請求的url的端口不是8081是跳轉到schemal://serverName:8081?queryString,其中schmal是協(xié)議http或https等,serverName是你訪問的host,8081是url配置里port的端口,queryString是你訪問的url里的?后面的參數(shù)。   
authcBasic:例如/admins/user/**=authcBasic #沒有參數(shù)表示httpBasic認證   
ssl:例子/admins/user/**=ssl #沒有參數(shù),表示安全的url請求,協(xié)議為https   
user:例如/admins/user/**=user #沒有參數(shù)表示必須存在用戶,當?shù)侨氩僮鲿r不做檢查 
  • 如果出現(xiàn)下面的這種過濾情況
/account/** = ssl, authc
/account/signup = anon
則下面的默認永遠都不執(zhí)行,即訪問/account/signup/index.html 的時候,只執(zhí)行上面的過濾器,不執(zhí)行下面的。
 <!-- anon表示不校驗 -->
/bower_components/** = anon #注意一個星號和兩個星號的區(qū)別  
/info/home/Vh1/**=anon 
/=anon
/static/**=anon #靜態(tài)資源放行
<!-- 剩余請求均經過authc -->
/** = authc         

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容