Spring Securityリファレンス

作者

Ben Alex , Luke Taylor , Rob Winch , Gunnar Hillert , Joe Grandja , Jay Bryant , Eddú Meléndez , Josh Cummings

5.2.2.RELEASE

このドキュメントのコピーは、印刷物または電子的に配布されるかどうかにかかわらず、各コピーにこの著作権表示が含まれていることを条件に、ユーザー自身の使用および他者への配布のために作成できます。


目次

I. 序文
1. 前提条件
2. Spring Securityコミュニティ
2.1. ヘルプの利用
2.2. 参加する
2.3. ソースコード
2.4. Apache 2ライセンス
2.5. ソーシャルメディア
3. Spring Security 5.2の新機能
3.1. サーブレット
3.2. WebFlux
3.3. コア
4. Spring Securityの入手
4.1. リリース番号
4.2. Mavenでの使用
4.2.1. Spring BootとMaven
4.2.2. Spring BootなしのMaven
4.2.3. Maven リポジトリ
4.3. Gradle
4.3.1. Spring BootとGradle
4.3.2. Spring BootなしのGradle
4.3.3. Gradleリポジトリ
5. 機能
5.1. エクスプロイトに対する保護
5.1.1. クロスサイトリクエストフォージェリ (CSRF)
CSRF攻撃とは何ですか?
CSRF攻撃からの保護
CSRF保護を使用する場合
CSRFの考慮事項
5.1.2. セキュリティHTTPレスポンスヘッダー
デフォルトのセキュリティヘッダー
キャッシュ制御
コンテンツタイプオプション
HTTP厳格なトランスポートセキュリティ (HSTS)
HTTP公開キーの固定 (HPKP)
X-Frame-Options
X-XSS-Protection
コンテンツセキュリティポリシー (CSP)
リファラーポリシー
機能ポリシー
サイトデータを消去する
カスタムヘッダー
5.1.3. HTTP
HTTPSにリダイレクト
厳格な輸送セキュリティ
プロキシーサーバー構成
6. プロジェクトモジュール
6.1. コア —  spring-security-core.jar
6.2. リモーティング —  spring-security-remoting.jar
6.3. Web —  spring-security-web.jar
6.4. 構成 —  spring-security-config.jar
6.5. LDAP —  spring-security-ldap.jar
6.6. OAuth 2.0コア —  spring-security-oauth2-core.jar
6.7. OAuth 2.0クライアント —  spring-security-oauth2-client.jar
6.8. OAuth 2.0 JOSE —  spring-security-oauth2-jose.jar
6.9. OAuth 2.0リソースサーバー —  spring-security-oauth2-resource-server.jar
6.10. ACL —  spring-security-acl.jar
6.11. CAS —  spring-security-cas.jar
6.12. OpenID —  spring-security-openid.jar
6.13. テスト —  spring-security-test.jar
7. サンプル
II. サーブレットアプリケーション
8. Hello Spring Security
8.1. 依存関係の更新
8.2. Hello Spring Security Bootの開始
8.3. Spring Boot自動構成
9. アーキテクチャと実装
9.1. 技術概要
9.1.1. ランタイム環境
9.1.2. コアコンポーネント
SecurityContextHolder、SecurityContext、および認証オブジェクト
UserDetailsService
GrantedAuthority
要約
9.1.3. 認証
Spring Securityの認証とは何ですか?
SecurityContextHolderのコンテンツを直接設定する
9.1.4. Webアプリケーションでの認証
ExceptionTranslationFilter
AuthenticationEntryPoint
認証メカニズム
リクエスト間のSecurityContextの保存
9.1.5. Spring Securityのアクセス制御(認可)
セキュリティとAOPのアドバイス
セキュアオブジェクトとAbstractSecurityInterceptor
9.2. コアサービス
9.2.1. AuthenticationManager、ProviderManager、およびAuthenticationProvider
認証成功時の資格情報の消去
DaoAuthenticationProvider
9.2.2. UserDetailsServiceの実装
インメモリ認証
JdbcDaoImpl
10. 認証
10.1. インメモリ認証
10.2. JDBC認証
10.3. LDAP認証
10.3.1. 概要
10.3.2. Spring SecurityでのLDAPの使用
10.4. LDAPサーバーの構成
10.4.1. 組み込みテストサーバーの使用
10.4.2. バインド認証の使用
10.4.3. 権限の読み込み
10.5. 実装クラス
10.5.1. LdapAuthenticatorの実装
共通の機能
BindAuthenticator
PasswordComparisonAuthenticator
10.5.2. LDAPサーバーへの接続
10.5.3. LDAP検索オブジェクト
FilterBasedLdapUserSearch
10.5.4. LdapAuthoritiesPopulator
10.5.5. Spring Beanの構成
10.5.6. LDAP属性とカスタマイズされたUserDetails
10.6. Active Directory認証
10.6.1. ActiveDirectoryLdapAuthenticationProvider
Active Directoryエラーコード
10.7. LDAP Java構成
10.8. AuthenticationProvider
10.8.1. AuthenticationProvider Java構成
10.8.2. AuthenticationProvider XML設定
10.9. UserDetailsService
10.10. パスワードエンコーディング
10.10.1. パスワード履歴
10.10.2. DelegatingPasswordEncoder
パスワード保存形式
パスワードエンコーディング
パスワード照合
はじめに
トラブルシューティング
10.10.3. BCryptPasswordEncoder
10.10.4. Argon2PasswordEncoder
10.10.5. Pbkdf2PasswordEncoder
10.10.6. SCryptPasswordEncoder
10.10.7. その他PasswordEncoders
10.10.8. パスワードエンコーダーのXML構成
10.11. 認証マネージャーと名前空間
10.12. セッション管理
10.12.1. タイムアウトの検出
10.12.2. 同時セッション制御
10.12.3. セッション固定攻撃保護
10.12.4. SessionManagementFilter
10.12.5. SessionAuthenticationStrategy
10.12.6. 並行性制御
現在認証されているユーザーとそのセッションについてSessionRegistryを照会する
10.13. Remember-Me認証
10.13.1. 概要
10.13.2. 単純なハッシュベースのトークンアプローチ
10.13.3. 永久トークンアプローチ
10.13.4. Remember-Meインターフェースと実装
TokenBasedRememberMeServices
PersistentTokenBasedRememberMeServices
10.14. OpenIDサポート
10.14.1. 属性交換
10.15. 匿名認証
10.15.1. 概要
10.15.2. 構成
10.15.3. AuthenticationTrustResolver
10.16. 事前認証シナリオ
10.16.1. 事前認証フレームワーククラス
AbstractPreAuthenticatedProcessingFilter
PreAuthenticatedAuthenticationProvider
Http403ForbiddenEntryPoint
10.16.2. 具体的な実装
リクエストヘッダー認証 (Siteminder)
Java EEコンテナー認証
10.17. Java認証および認可サービス(JAAS)プロバイダー
10.17.1. 概要
10.17.2. AbstractJaasAuthenticationProvider
JAAS CallbackHandler
JAAS AuthorityGranter
10.17.3. DefaultJaasAuthenticationProvider
InMemoryConfiguration
DefaultJaasAuthenticationProviderの構成例
10.17.4. JaasAuthenticationProvider
10.17.5. サブジェクトとして実行
10.18. CAS認証
10.18.1. 概要
10.18.2. CASの仕組み
Spring SecurityとCAS相互作用シーケンス
10.18.3. CASクライアントの構成
サービスチケット認証
シングルログアウト
CASを使用したステートレスサービスへの認証
代理チケット認証
10.19. X.509 認証
10.19.1. 概要
10.19.2. WebアプリケーションへのX.509認証の追加
10.19.3. TomcatでSSLをセットアップする
10.20. Run-As認証の置き換え
10.20.1. 概要
10.20.2. 構成
10.21. フォームログイン
10.21.1. フォームログインJava構成
10.21.2. フォームログインXML設定
フォームおよび基本ログインオプション
10.22. 基本認証およびダイジェスト認証
10.22.1. BasicAuthenticationFilter
10.22.2. 構成
10.23. DigestAuthenticationFilter
10.23.1. 構成
10.24. ログアウトの処理
10.24.1. ログアウトJava構成
10.24.2. ログアウトXML設定
10.24.3. LogoutHandler
10.24.4. LogoutSuccessHandler
10.24.5. その他のログアウト関連の参照
10.25. カスタムAuthenticationEntryPointの設定
11. 認可
11.1. 認可アーキテクチャ
11.1.1. 権限
11.1.2. 呼び出し前の処理
AccessDecisionManager
投票ベースのAccessDecisionManager実装
11.1.3. 呼び出し処理後
11.1.4. 階層的なロール
11.2. セキュアなオブジェクトの実装
11.2.1. AOP Alliance(MethodInvocation)セキュリティインターセプター
明示的なMethodSecurityInterceptor設定
11.2.2. AspectJ(JoinPoint)セキュリティインターセプター
11.3. 式ベースのアクセス制御
11.3.1. 概要
一般的な組み込み式
11.3.2. Webセキュリティ式
Webセキュリティ式でBeanを参照する
Webセキュリティ式のパス変数
11.3.3. メソッドセキュリティ式
@Preおよび@Postアノテーション
組み込み式
11.4. リクエストを承認する
11.5. メソッドのセキュリティ
11.5.1. EnableGlobalMethodSecurity
11.5.2. GlobalMethodSecurityConfiguration
11.5.3. <global-method-security>要素
11.5.4. protect-pointcutを使用したセキュリティポイントカットの追加
11.6. ドメインオブジェクトセキュリティ (ACL)
11.6.1. 概要
11.6.2. 主なコンセプト
11.6.3. 入門
12. OAuth2
12.1. OAuth 2.0ログイン
12.1.1. Spring Boot 2.xサンプル
初期設定
リダイレクトURIの設定
application.ymlを設定する
アプリケーションを起動する
12.1.2. Spring Boot 2.xプロパティマッピング
12.1.3. CommonOAuth2Provider
12.1.4. カスタムプロバイダープロパティの構成
12.1.5. Spring Boot 2.x自動構成のオーバーライド
ClientRegistrationRepository @Beanを登録する
WebSecurityConfigurerAdapterを提供する
自動構成を完全にオーバーライドする
12.1.6. Spring Boot 2.xを使用しないJava構成
12.1.7. 高度な構成
OAuth 2.0ログインページ
リダイレクトエンドポイント
UserInfoエンドポイント
IDトークン署名検証
OpenID Connect 1.0ログアウト
12.2. OAuth 2.0クライアント
12.2.1. コアインターフェース/クラス
ClientRegistration
ClientRegistrationRepository
OAuth2AuthorizedClient
OAuth2AuthorizedClientRepository / OAuth2AuthorizedClientService
OAuth2AuthorizedClientManager / OAuth2AuthorizedClientProvider
12.2.2. 認可付与サポート
認証コード
リフレッシュトークン
クライアント資格情報
リソース所有者のパスワード資格証明
12.2.3. 追加機能
認可されたクライアントの解決
12.2.4. サーブレット環境のWebClient統合
認定クライアントの提供
承認済みクライアントのデフォルト設定
12.3. OAuth 2.0リソースサーバー
12.3.1. 依存関係
12.3.2. JWTの最小構成
認可サーバーの指定
スタートアップの期待
ランタイムの期待
12.3.3. 認可サーバーJWKセットUriを直接指定する
12.3.4. ブート自動構成のオーバーライドまたは置換
jwkSetUri()を使用する
decoder()を使用する
JwtDecoder @Beanを公開する
12.3.5. 信頼できるアルゴリズムの構成
Spring Boot経由
ビルダーを使用する
JWK Set応答から
12.3.6. 単一の非対称キーを信頼する
Spring Boot経由
ビルダーを使用する
12.3.7. 単一の対称キーを信頼する
12.3.8. 認可の構成
権限の手動抽出
12.3.9. 検証の構成
タイムスタンプ検証のカスタマイズ
カスタム検証ツールの構成
12.3.10. クレームセットマッピングの構成
単一クレームの変換のカスタマイズ
クレームを追加する
申し立ての削除
クレームの名前を変更する
12.3.11. タイムアウトの構成
12.3.12. イントロスペクションの最小構成
認可サーバーの指定
スタートアップの期待
ランタイムの期待
12.3.13. 認証後の属性の検索
SpELを介した属性の検索
12.3.14. ブート自動構成のオーバーライドまたは置換
introspectionUri()を使用する
introspector()を使用する
OpaqueTokenIntrospector @Beanを公開する
12.3.15. 認可の構成
権限の手動抽出
12.3.16. タイムアウトの構成
12.3.17. JWTでのイントロスペクションの使用
12.3.18. /userinfo エンドポイントの呼び出し
12.3.19. JWTとOpaqueトークンの両方をサポート
12.3.20. マルチテナンシー
リクエスト材料によるテナントの解決
クレームによるテナントの解決
クレームの解析は1回のみ
12.3.21. ベアラートークンの解決
カスタムヘッダーからベアラートークンを読み取る
フォームパラメータからベアラートークンを読み取る
12.3.22. ベアラートークンの伝播
RestTemplate サポート
13. SAML2
13.1. SAML 2.0ログイン
13.1.1. Spring SecurityでのSAML 2サポート
13.1.2. Saml 2ログイン - 高レベルの概念
13.1.3. Saml 2ログイン - 現在の機能セット
Saml 2ログイン - まだサポートされていません
13.1.4. Saml 2ログイン - Java構成の概要
RelyingPartyRegistration
サービスプロバイダーのメタデータ
認証リクエスト - SP開始Flow
13.1.5. Spring Boot 2.xサンプル
複数のアイデンティティプロバイダーのサンプル
14. エクスプロイトに対する保護
14.1. サーブレット環境のクロスサイトリクエストフォージェリ(CSRF)
14.1.1. Spring Security CSRF保護の使用
適切なHTTP動詞を使用する
CSRF保護を構成する
CSRFトークンを含める
14.1.2. CSRFの考慮事項
ログイン
ログアウト
CSRFおよびセッションタイムアウト
マルチパート (ファイルアップロード)
HiddenHttpMethodFilter
14.2. セキュリティHTTPレスポンスヘッダー
14.2.1. デフォルトのセキュリティヘッダー
14.2.2. キャッシュ制御
14.2.3. コンテンツタイプオプション
14.2.4. HTTP厳格なトランスポートセキュリティ (HSTS)
14.2.5. HTTP公開キーの固定 (HPKP)
14.2.6. X-Frame-Options
14.2.7. X-XSS-Protection
14.2.8. コンテンツセキュリティポリシー (CSP)
14.2.9. リファラーポリシー
14.2.10. 機能ポリシー
14.2.11. サイトデータを消去する
14.2.12. カスタムヘッダー
静的ヘッダー
ヘッダーライター
DelegatingRequestMatcherHeaderWriter
14.3. HTTP
14.3.1. HTTPSにリダイレクト
14.3.2. 厳格な輸送セキュリティ
14.3.3. プロキシーサーバー構成
15. 統合
15.1. サーブレットAPIの統合
15.1.1. サーブレット2.5+の統合
HttpServletRequest.getRemoteUser()
HttpServletRequest.getUserPrincipal()
HttpServletRequest.isUserInRole(String)
15.1.2. サーブレット3+の統合
HttpServletRequest.authenticate(HttpServletRequest,HttpServletResponse)
HttpServletRequest.login(String,String)
HttpServletRequest.logout()
AsyncContext.start(Runnable)
非同期サーブレットのサポート
15.1.3. サーブレット3.1+の統合
HttpServletRequest#changeSessionId()
15.2. Spring Data統合
15.2.1. Spring DataおよびSpring Securityの構成
15.2.2. @Query内のセキュリティ表現
15.3. 並行性サポート
15.3.1. DelegatingSecurityContextRunnable
15.3.2. DelegatingSecurityContextExecutor
15.3.3. Spring Security並行性クラス
15.4. Jacksonサポート
15.5. ローカライゼーション
15.6. Spring MVC統合
15.6.1. @EnableWebMvcSecurity
15.6.2. MvcRequestMatcher
15.6.3. @AuthenticationPrincipal
15.6.4. Spring MVC非同期統合
15.6.5. Spring MVCとCSRFの統合
自動トークンインクルージョン
CsrfTokenの解決
15.7. WebSocketセキュリティ
15.7.1. WebSocketの設定
15.7.2. WebSocket認証
15.7.3. WebSocket認証
WebSocket認可に関する注意
送信メッセージ
15.7.4. 同一生成元ポリシーの強制
なぜ同じ起源なのか?
Spring WebSocket許可されたオリジン
CSRFをStompヘッダーに追加する
WebSockets内でCSRFを無効にする
15.7.5. SockJSでの作業
SockJSとフレームオプション
SockJSとリラックスしたCSRF
15.8. CORS
15.9. JSP タグライブラリ
15.9.1. Taglibの宣言
15.9.2. 承認タグ
テストのためのタグ認証の無効化
15.9.3. 認証タグ
15.9.4. accesscontrollistタグ
15.9.5. csrfInputタグ
15.9.6. csrfMetaTagsタグ
16. Java構成
16.1. Hello WebセキュリティJava構成
16.1.1. AbstractSecurityWebApplicationInitializer
16.1.2. Springが存在しないAbstractSecurityWebApplicationInitializer
16.1.3. AbstractSecurityWebApplicationInitializerとSpring MVC
16.2. HttpSecurity
16.3. 複数のHttpSecurity
16.4. カスタムDSL
16.5. 構成済みオブジェクトの後処理
17. セキュリティ名前空間の構成
17.1. 導入
17.1.1. 名前空間の設計
17.2. セキュリティ名前空間の構成の開始
17.2.1. web.xmlの構成
17.2.2. 最小限の<http>構成
デフォルトのログイン後の宛先の設定
17.3. 高度なWeb機能
17.3.1. 独自のフィルターを追加する
17.4. メソッドのセキュリティ
17.5. デフォルトのAccessDecisionManager
17.5.1. AccessDecisionManagerのカスタマイズ
18. テスト
18.1. テスト方法のセキュリティ
18.1.1. セキュリティテストのセットアップ
18.1.2. @WithMockUser
18.1.3. @WithAnonymousUser
18.1.4. @WithUserDetails
18.1.5. @WithSecurityContext
18.1.6. メタアノテーションのテスト
18.2. Spring MVCテスト統合
18.2.1. MockMvcおよびSpring Securityのセットアップ
18.2.2. SecurityMockMvcRequestPostProcessors
CSRF保護を使用したテスト
Spring MVCテストでユーザーとしてテストを実行する
Spring MVCテストでRequestPostProcessorを使用してユーザーとして実行する
HTTP基本認証のテスト
18.2.3. SecurityMockMvcRequestBuilders
フォームベース認証のテスト
ベアラー認証のテスト
ログアウトのテスト
18.2.4. SecurityMockMvcResultMatchers
認証されていないアサーション
認証されたアサーション
19. Spring Security暗号モジュール
19.1. 導入
19.2. 暗号化
19.2.1. BytesEncryptor
19.2.2. TextEncryptor
19.3. キージェネレーター
19.3.1. BytesKeyGenerator
19.3.2. StringKeyGenerator
19.4. パスワードエンコーディング
20. 付録
20.1. セキュリティデータベーススキーマ
20.1.1. ユーザースキーマ
Oracleデータベースの場合
グループ権限
20.1.2. 永続的ログイン(Remember-Me)スキーマ
20.1.3. ACLスキーマ
HyperSQL
PostgreSQL
MySQLおよびMariaDB
マイクロソフトSQL Server
Oracleデータベース
20.2. セキュリティ名前空間
20.2.1. Webアプリケーションセキュリティ
<debug>
<http>
<access-denied-handler>
<cors>
<headers>
<cache-control>
<hsts>
<hpkp>
<pins>
<pin>
<content-security-policy>
<referrer-policy>
<feature-policy>
<frame-options>
<xss-protection>
<content-type-options>
<header>
<anonymous>
<csrf>
<custom-filter>
<expression-handler>
<form-login>
<http-basic>
<http-firewall>要素
<intercept-url>
<jee>
<logout>
<openid-login>
<attribute-exchange>
<openid-attribute>
<port-mappings>
<port-mapping>
<remember-me>
<request-cache>要素
<session-management>
<concurrency-control>
<x509>
<filter-chain-map>
<filter-chain>
<filter-security-metadata-source>
20.2.2. WebSocketセキュリティ
<websocket-message-broker>
<intercept-message>
20.2.3. 認証サービス
<authentication-manager>
<authentication-provider>
<jdbc-user-service>
<password-encoder>
<user-service>
<user>
20.2.4. メソッドのセキュリティ
<global-method-security>
<after-invocation-provider>
<pre-post-annotation-handling>
<invocation-attribute-factory>
<post-invocation-advice>
<pre-invocation-advice>
メソッドの保護
<intercept-methods>
<method-security-metadata-source>
<protect>
20.2.5. LDAP名前空間オプション
LDAPサーバーの定義
<ldap-authentication-provider>
<password-compare>
<ldap-user-service>
20.3. Spring Securityの依存関係
20.3.1. spring-security-core
20.3.2. spring-security-remoting
20.3.3. spring-security-web
20.3.4. spring-security-ldap
20.3.5. spring-security-config
20.3.6. spring-security-acl
20.3.7. spring-security-cas
20.3.8. spring-security-openid
20.3.9. spring-security-taglibs
20.4. Spring Security FAQ
20.4.1. 一般的な質問
Spring Securityはすべてのアプリケーションセキュリティ要件を処理しますか?
web.xmlセキュリティを使用しないのはなぜですか?
どのJavaおよびSpring Frameworkバージョンが必要ですか?
Spring Securityを初めて使用します。HTTPSを介したCASシングルサインオンをサポートし、特定のURLに対して基本認証をローカルで許可し、複数のバックエンドユーザー情報ソース(LDAPおよびJDBC)に対して認証するアプリケーションを構築する必要があります。見つけたいくつかの構成ファイルをコピーしましたが、機能しません。
20.4.2. よくある問題
ログインしようとすると、「不正な資格情報」というエラーメッセージが表示されます。どうしてでしょうか?
ログインしようとすると、アプリケーションが「無限ループ」に入ります。
「アクセスが拒否されます(ユーザーは匿名です);」というメッセージで例外が発生します。どうしてでしょうか?
アプリケーションからログアウトした後でも、保護されたページが表示されるのはなぜですか?
「SecurityContextで認証オブジェクトが見つかりませんでした」というメッセージで例外が発生します。どうしてでしょうか?
LDAP認証が機能しません。
セッション管理
Spring Securityの同時セッション制御を使用して、ユーザーが一度に複数回ログインするのを防ぎます。
Spring Securityで認証すると、セッションIDが変わるのはなぜですか?
Tomcat(または他のサーブレットコンテナー)を使用しており、ログインページでHTTPSを有効にし、その後HTTPに戻りました。
HTTPとHTTPSを切り替えていませんが、セッションがまだ失われています
同時セッション制御サポートを使用しようとしていますが、ログアウトしていて許可されたセッションを超えていないと確信しても、再度ログインすることはできません。
Spring Securityは、create-session属性をneverに設定することにより、設定していないにもかかわらず、どこかにセッションを作成しています。
POSTを実行すると403 Forbiddenが発生する
RequestDispatcherを使用してリクエストを別のURLに転送していますが、セキュリティ上の制約は適用されていません。
Spring Securityの<global-method-security>要素をアプリケーションコンテキストに追加しましたが、Spring MVCコントローラーBean(Strutsアクションなど)にセキュリティアノテーションを追加しても効果はないようです。
確実に認証されたユーザーがいますが、リクエスト中にSecurityContextHolderにアクセスしようとすると、認証がnullになります。
認可JSPタグは、URL属性を使用するときにメソッドセキュリティアノテーションを考慮しません。
20.4.3. Spring Securityアーキテクチャに関する質問
どのパッケージクラスXが含まれているかを知るにはどうすればよいですか
名前空間要素は、従来のBean構成にどのようにマッピングされますか?
「ROLE_」とは何を意味し、なぜロール名にそれが必要なのですか?
Spring Securityで動作するためにアプリケーションに追加する依存関係を知るにはどうすればよいですか?
組み込みApacheDS LDAPサーバーを実行するには、どのような依存関係が必要ですか?
UserDetailsServiceとは何ですか?
20.4.4. 一般的な「Howto」リクエスト
ユーザー名以外の情報でログインする必要があります。
要求されたURLのフラグメント値のみが異なる(たとえば、/ foo#barと/foo#blah?の)異なるintercept-url制約を適用する方法
UserDetailsServiceでユーザーのIPアドレス(または他のWeb要求データ)にアクセスするにはどうすればよいですか?
UserDetailsServiceからHttpSessionにアクセスするにはどうすればよいですか?
UserDetailsServiceでユーザーのパスワードにアクセスするにはどうすればよいですか?
アプリケーション内でセキュアなURLを動的に定義するにはどうすればよいですか
LDAPに対して認証するが、データベースからユーザーロールをロードするにはどうすればよいですか?
名前空間によって作成されたBeanのプロパティを変更したいのですが、スキーマにはそれをサポートするものが何もありません。
III. リアクティブアプリケーション
21. WebFluxセキュリティ
21.1. 最小限のWebFluxセキュリティ構成
21.2. 明示的なWebFluxセキュリティ構成
22. エクスプロイトに対する保護
22.1. WebFlux環境向けのクロスサイトリクエストフォージェリ(CSRF)
22.1.1. Spring Security CSRF保護の使用
適切なHTTP動詞を使用する
CSRF保護を構成する
CSRFトークンを含める
22.1.2. CSRFの考慮事項
ログイン
ログアウト
CSRFおよびセッションタイムアウト
マルチパート (ファイルアップロード)
HiddenHttpMethodFilter
22.2. セキュリティHTTPレスポンスヘッダー
22.2.1. デフォルトのセキュリティヘッダー
22.2.2. キャッシュ制御
22.2.3. コンテンツタイプオプション
22.2.4. HTTP厳格なトランスポートセキュリティ (HSTS)
22.2.5. X-Frame-Options
22.2.6. X-XSS-Protection
22.2.7. コンテンツセキュリティポリシー (CSP)
22.2.8. リファラーポリシー
22.2.9. 機能ポリシー
22.2.10. サイトデータを消去する
22.3. HTTP
22.3.1. HTTPSにリダイレクト
22.3.2. 厳格な輸送セキュリティ
22.3.3. プロキシーサーバー構成
23. OAuth2 WebFlux
23.1. OAuth 2.0ログイン
23.1.1. Spring Boot 2.0サンプル
初期設定
リダイレクトURIの設定
application.ymlを構成する
アプリケーションを起動する
23.1.2. OpenIDプロバイダー構成の使用
23.1.3. 明示的なOAuth2ログイン構成
23.2. OAuth2 クライアント
23.3. OAuth 2.0リソースサーバー
23.3.1. 依存関係
23.3.2. JWTの最小構成
認可サーバーの指定
スタートアップの期待
ランタイムの期待
認可サーバーJWKセットUriを直接指定する
ブート自動構成のオーバーライドまたは置換
23.3.3. 信頼できるアルゴリズムの構成
Spring Boot経由
ビルダーを使用する
単一の非対称キーを信頼する
単一の対称キーを信頼する
認可の構成
検証の構成
イントロスペクションの最小構成
認証後の属性の検索
ブート自動構成のオーバーライドまたは置換
認可の構成
JWTでのイントロスペクションの使用
/userinfo エンドポイントの呼び出し
23.3.4. ベアラートークンの伝播
24. @RegisteredOAuth2AuthorizedClient
25. リアクティブX.509認証
26. WebClient
26.1. WebClient OAuth2のセットアップ
26.2. 暗黙的なOAuth2AuthorizedClient
26.3. 明示的なOAuth2AuthorizedClient
26.4. clientRegistrationId
27. EnableReactiveMethodSecurity
28. リアクティブテストのサポート
28.1. リアクティブメソッドセキュリティのテスト
28.2. WebTestClientSupport
28.2.1. 認証
28.2.2. CSRFサポート
28.2.3. ベアラー認証のテスト
mockJwt() WebTestClientConfigurer
authentication() WebTestClientConfigurer
29. RSocketセキュリティ
29.1. 最小限のRSocketセキュリティ構成
29.2. SecuritySocketAcceptorInterceptorの追加
29.3. RSocket認証
29.3.1. セットアップ時の認証とリクエスト時
29.3.2. 基本認証
29.3.3. JWT
29.4. RSocket認証

Unofficial Translation by spring.pleiades.io. See the original content.