Open3
SpringSecurity の SecurityFilter を知る
SecurityFilter の基本アーキテクチャ
- DelegatingFilterProxy
- FilterChainProxy
- SecurityFilterChain
Spring Security で設定される Filter の順序
以下のコードに順序定義がある
- 定義を見ての通り、開始Indexが
100
、 Step で100
ずつインクリメントされている - 数値の低いほうが優先度が高い
- クラスのパッケージからのフルパスのみの定義は、SpringSecurity の Core に存在しないオプションの依存によって注入される可能性のある Filter 定義
- 依存がない状態では、Class 定義がないため、そもそも参照できないためこういう作りになってると思われ
Form Login
Form Login の認証処理を参考にする
未認証リクエストからログインページ表示まで
-
FilterSecurityInterceptor
によって未認証リクエストを拒否(AccessDeniedException
をスロー) -
ExceptionTranslatorFilter
で認証処理を開始。AuthenticationEntryPoint
を利用して何らかのログインページへリダイレクト指示 - リクエスト元のクライアントがリダイレクト指示を受けて、ログインページをGET
- ログインページを取得/表示