首頁 >Java >Java基礎 >Spring Security原理

Spring Security原理

Guanhui
Guanhui原創
2020-06-23 14:42:063328瀏覽

Spring Security原理

Spring Security原理

Spring Security採用的是責任鏈的設計模式,有一條很長的過濾器鏈,首先客戶端發起一個請求,進入Security過濾器鏈,然後判斷是否為登錄,最後根據URI去找對應的鑑權管理器,進行鑑權。

流程圖

Spring Security原理

    流程說明
  • 客戶端發起一個請求,進入Security 過濾器鏈。

  • 當到LogoutFilter 的時候判斷是否是登出路徑,如果是登出路徑則到logoutHandler ,如果登出成功則到logoutSuccessHandler 登出成功處理,如果登出失敗則由ExceptionTranslationFilter ;如果不是登出路徑則直接進入下一個過濾器。

  • 當到UsernamePasswordAuthenticationFilter 的時候判斷是否為登入路徑,如果是,則進入該過濾器進行登入操作,如果登入失敗則到AuthenticationFailureHandler 登入失敗處理器處理,如果登入成功則到AuthenticationSuccessHandler 登入成功處理器處理,如果不是登入請求則不進入該過濾器。

當到FilterSecurityInterceptor 的時候會拿到uri ,根據uri 去找對應的鑑權管理器,鑑權管理器做鑑權工作,鑑權成功則到Controller 層否則到AccessDeniedHandler 鑑權失敗處理器處理。

推薦教學:《
Java教學###》######

以上是Spring Security原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn