ばねあんぜんず


ばねあんぜんず


ほじょようき

  • 猫のようなWebアプリケーションはサーバコンテナと呼ばれ、これらのWebアプリケーション(J 2 EEアプリケーション)は基本的にフィルタとサーバから構成されている.
  • フィルタは、チェーンのように編成されているため、すべての要求がこのフィルタチェーンを経てイーサネットサービスに到達しなければならないため、フィルタチェーンと呼ばれています.
  • ばねあんぜんず

  • でSpring SecurityはDelegingFilterProxyというフィルタを作成し、メインフィルタチェーンに挿入し、その下にSecurityFilterChainグループを再登録します.
  • このフィルタチェーンは1つ以上でなければなりません.urlモードによっては、適用されるフィルタチェーンが異なる場合があります.本来のメインフィルタを通過しなければサーバに入れないという欠点を補うために,フィルタチェーンProxyが設けられているといえる.
  • この場合、@Order宣言によってフィルタチェーンの優先度を指定できます.数値が低いほど優先度が高くなります.
  • @Order(1)
    @EnableWebSecurity(debug = true)
    @EnableGlobalMethodSecurity(prePostEnabled = true)
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
  • webリソースの場合、モードに従ってもフィルタは無視され、通過します.
  • あんぜんフィルタ

  • フィルタチェーンには、複数のフィルタが組み込まれている.
  • 各フィルタは、異なる注目点を解決する.
    -HeaderWriterFilter:Httpヘッダを確認します.応答ヘッダに書くものがうまく書かれているか、必要なヘッダが追加されているかを確認します.
  • CorsHeader:許可されたサイトまたはクライアントリクエストがあるかどうかを確認します.
  • CSrfFilter:エクスポートしたリソースからのリクエストを確認します.
  • LogoutFilter:ログアウトするかどうかを確認します.
  • U sernamePasswordAuthenticationFilter:ユーザー名/パスワードでログインするかどうかを確認します.ログインしたら、ここで処理して、行くページを送ります.
  • ConcurrentSessionFilter:ログインを許可するかどうかを設定します.
  • BeaarerTokenAuthenticationFilter:認証ヘッダにBeareトークンが表示された場合に認証処理を行う.
  • BasicTokenAuthenticationFilter:AuthorizatinoヘッダにBasic Tokenが表示された場合の認証処理.
  • RequestCacheAwareFilter:要求されたばかりのリクエスト履歴は、次のキャッシュに入れる必要がある場合があります.
  • SecurityContextHolderAwareRequestFilter:セキュリティ関連サーブレット3仕様をサポートするフィルタです.
  • RememberMeauthenticationFilter:まだ認証されていない場合は、RememberMeCookieを確認して検証処理を行います.
  • AnonymousAuthenticationFilter:まだ認証されていない場合は、Anonymousユーザーとみなされます.
  • SessionManagementFilter:サーバで指定されたセッションポリシーを確認します.
  • ExceptionTranslationFilter:認証または権限異常が発生した場合、取得して処理します.
  • FilterSecurityInterceptor:このフィルタに到達すると、認証があり、最後に送信されたリクエストにアクセスする資格があるかどうか、および返された結果を送信できるかどうかを確認します.
  • に加えて、Auth 2またはSaml 2、CasおよびX 509に関するフィルタもいくつかあります.
  • フィルタは加減してもよいし、順序を調整してもよい.(フィルタの順序が非常に重要である可能性があるため、デフォルトのフィルタの順序はある程度固定されています.)
  • 要求を送信するときに使用するフィルタを決定するには、@EnableWebSecurity(debug=true)宣言を使用します.
    @Order(1)
    @EnableWebSecurity(debug = true)
    @EnableGlobalMethodSecurity(prePostEnabled = true)
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
    リファレンス
  • 快速通路:Java/spring Web開発メインパケット