您好,登錄后才能下訂單哦!
本篇內容主要講解“spring security過濾器鏈的簡單介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“spring security過濾器鏈的簡單介紹”吧!
SpringSecurity 采用的是責任鏈的設計模式,它有一條很長的過濾器鏈。現在對這條過濾器鏈的各個進行說明:
WebAsyncManagerIntegrationFilter:將 Security 上下文與 Spring Web 中用于處理異步請求映射的 WebAsyncManager 進行集成。
SecurityContextPersistenceFilter:在每次請求處理之前將該請求相關的安全上下文信息加載到 SecurityContextHolder 中,然后在該次請求處理完成之后,將 SecurityContextHolder 中關于這次請求的信息存儲到一個“倉儲”中,然后將 SecurityContextHolder 中的信息清除,例如在Session中維護一個用戶的安全信息就是這個過濾器處理的。
HeaderWriterFilter:用于將頭信息加入響應中。
CsrfFilter:用于處理跨站請求偽造。
LogoutFilter:用于處理退出登錄。
UsernamePasswordAuthenticationFilter:用于處理基于表單的登錄請求,從表單中獲取用戶名和密碼。默認情況下處理來自 /login 的請求。從表單中獲取用戶名和密碼時,默認使用的表單 name 值為 username 和 password,這兩個值可以通過設置這個過濾器的usernameParameter 和 passwordParameter 兩個參數的值進行修改。
DefaultLoginPageGeneratingFilter:如果沒有配置登錄頁面,那系統初始化時就會配置這個過濾器,并且用于在需要進行登錄時生成一個登錄表單頁面。
BasicAuthenticationFilter:檢測和處理 http basic 認證。
RequestCacheAwareFilter:用來處理請求的緩存。
SecurityContextHolderAwareRequestFilter:主要是包裝請求對象request。
AnonymousAuthenticationFilter:檢測 SecurityContextHolder 中是否存在 Authentication 對象,如果不存在為其提供一個匿名 Authentication。
SessionManagementFilter:管理 session 的過濾器
ExceptionTranslationFilter:處理 AccessDeniedException 和 AuthenticationException 異常。
FilterSecurityInterceptor:可以看做過濾器鏈的出口。
RememberMeAuthenticationFilter:當用戶沒有登錄而直接訪問資源時, 從 cookie 里找出用戶的信息, 如果 Spring Security 能夠識別出用戶提供的remember me cookie, 用戶將不必填寫用戶名和密碼, 而是直接登錄進入系統,該過濾器默認不開啟。
---------------------
到此,相信大家對“spring security過濾器鏈的簡單介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。