Spring Security の原則
Spring Security は責任連鎖設計パターンを採用しており、長いフィルター チェーンがあります。要求に応じてセキュリティ フィルター チェーンに入り、ログインであるかどうかを判断し、最後に認証用の URI に基づいて対応する認証マネージャーを見つけます。
#フローチャート
プロセスの説明
- #クライアントはリクエストを開始し、セキュリティ フィルター チェーンに入ります。
- LogoutFilter に到達したら、それがログアウト パスであるかどうかを判断します。ログアウト パスである場合は、logoutHandler に進みます。ログアウトが成功した場合は、logoutSuccessHandler に進み、ログアウトを処理します。ログアウトに失敗した場合は、ExceptionTranslationFilter を使用します。ログアウト パスではない場合は、次のフィルターに直接進みます。
- UsernamePasswordAuthenticationFilter に到達したら、それがログイン パスであるかどうかを判断します。ログイン パスである場合は、フィルタを入力してログイン操作を実行します。ログインが失敗した場合は、AuthenticationFailureHandler ログイン失敗ハンドラに進みます。ログインが成功した場合は、AuthenticationSuccessHandler ログイン成功プロセッサに進み、処理します。ログイン要求でない場合は、フィルタに入りません。
- FilterSecurityInterceptor に到達すると、uri を取得します。uri に従って、対応する認証マネージャーが見つかります。認証マネージャーは認証作業を行います。成功した場合はコントローラー層に進み、それ以外の場合はコントローラー層に進み、AccessDeniedHandler 認証失敗ハンドラーで処理します。
推奨チュートリアル: 「Java チュートリアル 」
以上がSpring セキュリティ原則の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。