@TargetSE(valueSE={TYPESE,METHODSE}) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE public @interface CrossOrigin
HandlerMapping
が構成されている場合に処理されます。Spring Web MVC と Spring WebFlux はどちらも、それぞれのモジュールの RequestMappingHandlerMapping
を通じてこのアノテーションをサポートしています。アノテーションの各型とメソッドレベルのペアからの値が CorsConfiguration
に追加され、次に CorsConfiguration.applyPermitDefaultValues()
を介してデフォルト値が適用されます。
グローバル構成とローカル構成を組み合わせるためのルールは、一般的に追加的です。すべてのグローバルおよびすべてのローカルの起源。allowCredentials
や maxAge
など、単一の値しか受け入れられない属性の場合、ローカルはグローバル値をオーバーライドします。詳細については、CorsConfiguration.combine(CorsConfiguration)
を参照してください。
修飾子と型 | フィールドと説明 |
---|---|
static boolean | DEFAULT_ALLOW_CREDENTIALS 使用すべきではありません。 Spring 5.0 現在、 CorsConfiguration.applyPermitDefaultValues() を推奨 |
static StringSE[] | DEFAULT_ALLOWED_HEADERS 使用すべきではありません。 Spring 5.0 現在、 CorsConfiguration.applyPermitDefaultValues() を推奨 |
static long | DEFAULT_MAX_AGE 使用すべきではありません。 Spring 5.0 現在、 CorsConfiguration.applyPermitDefaultValues() を推奨 |
static StringSE[] | DEFAULT_ORIGINS 使用すべきではありません。 Spring 5.0 現在、 CorsConfiguration.applyPermitDefaultValues() を推奨 |
修飾子と型 | オプションの要素と説明 |
---|---|
StringSE | allowCredentials ブラウザーが、ドメイン間リクエストとともに Cookie などの資格情報をアノテーション付きエンドポイントに送信するかどうか。 |
StringSE[] | allowedHeaders 実際のリクエストで許可されるリクエストヘッダーのリスト。 "*" を使用すると、すべてのヘッダーを許可できます。 |
StringSE[] | exposedHeaders ユーザーエージェントがクライアントに「単純な」ヘッダー以外の実際のレスポンスでのアクセスを許可するレスポンスヘッダーのリスト。 |
long | maxAge プリフライトレスポンスのキャッシュ期間の最大経過時間(秒単位)。 |
RequestMethod[] | methods サポートされる HTTP リクエストメソッドのリスト。 |
StringSE[] | originPatterns より柔軟な原点パターンをサポートする origins() の代替。 |
StringSE[] | origins クロスオリジンリクエストが許可されているオリジンのリスト。 |
StringSE[] | value origins() のエイリアス。 |
@DeprecatedSE public static final StringSE[] DEFAULT_ORIGINS
CorsConfiguration.applyPermitDefaultValues()
を推奨 @DeprecatedSE public static final StringSE[] DEFAULT_ALLOWED_HEADERS
CorsConfiguration.applyPermitDefaultValues()
を推奨 @DeprecatedSE public static final boolean DEFAULT_ALLOW_CREDENTIALS
CorsConfiguration.applyPermitDefaultValues()
を推奨 @DeprecatedSE public static final long DEFAULT_MAX_AGE
CorsConfiguration.applyPermitDefaultValues()
を推奨 @AliasFor(value="value") public abstract StringSE[] origins
CorsConfiguration.setAllowedOrigins(List)
を参照してください。 デフォルトでは、originPatterns()
も設定されていない限り、すべてのオリジンが許可されます。設定されている場合は、代わりに originPatterns
が使用されます。
public abstract StringSE[] originPatterns
origins()
の代替。詳しくは CorsConfiguration.setAllowedOriginPatterns(List)
を参照してください。デフォルトでは、これは設定されていません。
public abstract StringSE[] allowedHeaders
"*"
を使用すると、すべてのヘッダーを許可できます。 許可されたヘッダーは、プリフライトリクエストの Access-Control-Allow-Headers
レスポンスヘッダーにリストされています。
CORS 仕様に従って、Cache-Control
、Content-Language
、Expires
、Last-Modified
または Pragma
のいずれかである場合、ヘッダー名をリストする必要はありません。
デフォルトでは、リクエストされたすべてのヘッダーが許可されます。
public abstract StringSE[] exposedHeaders
Cache-Control
、Content-Language
、Content-Type
、Expires
、Last-Modified
または Pragma
以外 公開されたヘッダーは、実際の CORS リクエストの Access-Control-Expose-Headers
レスポンスヘッダーにリストされます。
特別な値 "*"
を使用すると、資格情報のないリクエストに対してすべてのヘッダーを公開できます。
デフォルトでは、公開されているヘッダーは表示されません。
public abstract RequestMethod[] methods
デフォルトでは、サポートされているメソッドは、コントローラーメソッドがマップされているメソッドと同じです。
public abstract StringSE allowCredentials
Access-Control-Allow-Credentials
レスポンスヘッダーに設定されます。注意 : このオプションは、構成されたドメインとの高レベルの信頼を確立し、Cookie や CSRF トークンなどのユーザー固有の機密情報を公開することにより、Web アプリケーションの表面攻撃を増やすことに注意してください。
デフォルトでは、これは設定されていません。その場合、Access-Control-Allow-Credentials
ヘッダーも設定されないため、資格情報は許可されません。