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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Shiro-过滤器

發布時間:2025/3/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shiro-过滤器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、shiro內置過濾器:

  Shiro內置了很多默認的過濾器,比如:身份驗證、授權等,默認過濾器可以參考“DefaultFilter”中的枚舉過濾器:

package org.apache.shiro.web.filter.mgt; public enum DefaultFilter {anon(AnonymousFilter.class),authc(FormAuthenticationFilter.class),authcBasic(BasicHttpAuthenticationFilter.class),logout(LogoutFilter.class),noSessionCreation(NoSessionCreationFilter.class),perms(PermissionsAuthorizationFilter.class),port(PortFilter.class),rest(HttpMethodPermissionFilter.class),roles(RolesAuthorizationFilter.class),ssl(SslFilter.class),user(UserFilter.class); }

1. 身份驗證相關:

*******************************身份驗證******************************************************** 1.authc:    -->org.apache.shiro.web.filter.authc.FormAuthenticationFilter屬于表單的過濾器,如"/**=authc",如果沒有登錄會跳到相應的登錄頁面登錄:主要屬性:usernameParam:表單提交的用戶名參數名(username)passwordParam:表單提交的密碼參數名(password)rememberMeParam:表單提交的密碼參數名(rememberMe)loginUrl:登錄頁面地址(/login.jsp)successUrl:登錄成功后的默認重定向地址failureKeyAttribute:登錄失敗后錯誤信息存儲key(shiroLoginFailure)2.authcBasic: -->org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilterBaseHTTP身份驗證過濾器,主要屬性:applicationName:彈出框顯示的信息(aoolication)3.logout:   -->org.apache.shiro.web.filter.authc.LogoutFilter退出過濾器,主要屬性:redirectUrl:退出成功后重定向的地址(/)4.user:   -->org.apache.shiro.web.filter.authc.UserFilter用戶過濾器,用戶已經身份驗證/記住我都可以,示例:"/**=user"5.anon:   -->org.apache.shiro.web.filter.authc.AnonymousFilter匿名過濾器,即不需要登錄也可以訪問;一般用于靜態資源過濾,示例:"/static/**=anon"

2.授權相關:

**********************************授權*****************************************************1.roles: -->org.apache.shiro.web.filter.authz.RolesAuthorizationFilter角色授權過濾器,驗證用戶是否擁有角色:主要屬性:loginUrl:登錄頁面地址(/login.jsp)unauthorizedUrl:未授權重定向地址;示例:"/admin/**=roles[admin]"2.perms: -->org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter授權過濾器,驗證用戶是否擁有權限,屬性和Roles一樣;示例:"/user/**=parms["user:create"]"3.port: -->org.apache.shiro.web.filter.authz.PortFilter端口過濾器,主要屬性port(80),表示可以通過的端口;示例:"/test=port[80]",如果用戶訪問的頁面是非80,會自動將端口改為80端口,其他路徑參數都一樣4.rest: -->org.apache.shiro.web.filter.authz.HttpMethodPermissionFilterreset風格過濾器,會自動根據請求方法構建權限字符串5.ssl: -->org.apache.shiro.web.filter.authz.SslFilterSSL過濾器,只有請求協議是https才能通過;否則會自動跳轉到https端口(443);其他和port過濾器一樣

3. 其他:

***********************************Session****************************************************1.noSessionCreation: -->org.apache.shiro.web.filter.session.NoSessionCreationFilter不創建會話過濾器,調用subject.getSession(false)不會由什么問題,但是如果subject.getSession(true)將拋出異常

?

?二、自定義過濾器:

  通過自定義過濾器可以擴展功能,

    例如:動態url-叫哦/權限訪問控制的實現,根據Subject身份信息獲取用戶信息綁定到Request(即設置通用數據)、驗證碼驗證、在線用戶信息保存等。

轉載于:https://www.cnblogs.com/luliang888/p/11171485.html

總結

以上是生活随笔為你收集整理的Shiro-过滤器的全部內容,希望文章能夠幫你解決所遇到的問題。

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