public class CorsConfiguration extends ObjectSE
デフォルトでは、新しく作成された CorsConfiguration
はクロスオリジンリクエストを許可しないため、何を許可するかを明示的に構成する必要があります。applyPermitDefaultValues()
を使用して初期化モデルを反転し、GET、HEAD、POST リクエストに対するすべてのクロスオリジンリクエストを許可するオープンデフォルトから始めます。
コンストラクターと説明 |
---|
CorsConfiguration() デフォルトでは、どのオリジンでもクロスオリジンリクエストが許可されていない新しい CorsConfiguration インスタンスを作成します。 |
CorsConfiguration(CorsConfiguration other) 指定された CorsConfiguration からすべての値をコピーして、新しい CorsConfiguration インスタンスを構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addAllowedHeader(StringSE allowedHeader) 許可する実際のリクエストヘッダーを追加します。 |
void | addAllowedMethod(HttpMethod method) 許可する HTTP メソッドを追加します。 |
void | addAllowedMethod(StringSE method) 許可する HTTP メソッドを追加します。 |
void | addAllowedOrigin(StringSE origin) 一度に 1 つの原点を追加するための setAllowedOrigins(java.util.List<java.lang.String>) のバリアント。 |
void | addAllowedOriginPattern(StringSE originPattern) 一度に 1 つの原点を追加するための setAllowedOriginPatterns(java.util.List<java.lang.String>) のバリアント。 |
void | addExposedHeader(StringSE exposedHeader) 公開するレスポンスヘッダーを追加します。 |
CorsConfiguration | applyPermitDefaultValues() デフォルトでは、 CorsConfiguration はクロスオリジンリクエストを許可しないため、明示的に設定する必要があります。 |
ListSE<StringSE> | checkHeaders(ListSE<StringSE> requestHeaders) 提供されたリクエストヘッダー(またはプリフライトリクエストの Access-Control-Request-Headers にリストされているヘッダー)を、構成された許可されたヘッダーと照合します。 |
ListSE<HttpMethod> | checkHttpMethod(HttpMethod requestMethod) HTTP リクエストメソッド(またはプリフライトリクエストの Access-Control-Request-Method ヘッダーのメソッド)を、構成された許可されたメソッドと照合します。 |
StringSE | checkOrigin(StringSE origin) 構成された許可された発信元に対してリクエストの発信元を確認します。 |
CorsConfiguration | combine(CorsConfiguration other) 提供された CorsConfiguration の null 以外のプロパティをこれと組み合わせます。 |
BooleanSE | getAllowCredentials() 構成済みの allowCredentials フラグを返します。ない場合は null を返します。 |
ListSE<StringSE> | getAllowedHeaders() 許可された実際のリクエストヘッダーを返します。ない場合は null を返します。 |
ListSE<StringSE> | getAllowedMethods() 許可された HTTP メソッド、または null を返します。この場合、"GET" および "HEAD" のみが許可されます。 |
ListSE<StringSE> | getAllowedOriginPatterns() 許可するように構成されたオリジンパターンを返します。ない場合は null を返します。 |
ListSE<StringSE> | getAllowedOrigins() 許可するように構成されたオリジンを返します。許可しない場合は null を返します。 |
ListSE<StringSE> | getExposedHeaders() 公開する構成済みのレスポンスヘッダーを返します。存在しない場合は null を返します。 |
LongSE | getMaxAge() 構成された maxAge 値を返します。ない場合は null 値を返します。 |
void | setAllowCredentials(BooleanSE allowCredentials) ユーザー資格情報がサポートされているかどうか。 |
void | setAllowedHeaders(ListSE<StringSE> allowedHeaders) プリフライトリクエストが実際のリクエスト中に使用できるようにリストできるヘッダーのリストを設定します。 |
void | setAllowedMethods(ListSE<StringSE> allowedMethods) 許可する HTTP メソッドを設定します。 |
CorsConfiguration | setAllowedOriginPatterns(ListSE<StringSE> allowedOriginPatterns) ポートリストに加えて、ホスト名の任意の場所に "*" が付いた、より柔軟なオリジンパターンをサポートする setAllowedOrigins(java.util.List<java.lang.String>) の代替。 |
void | setAllowedOrigins(ListSE<StringSE> origins) クロスオリジンリクエストが許可されているオリジンのリスト。 |
void | setExposedHeaders(ListSE<StringSE> exposedHeaders) 単純なヘッダー以外のレスポンスヘッダーのリストを設定します(つまり |
void | setMaxAge(DurationSE maxAge) 期間として、プリフライトリクエストからのレスポンスをクライアントがキャッシュできる期間を設定します。 |
void | setMaxAge(LongSE maxAge) プリフライトリクエストからのレスポンスをクライアントがキャッシュできる期間を秒単位で構成します。 |
void | validateAllowCredentials() allowCredentials が true の場合、"Access-Control-Allow-Origin" を "*" に設定できないため、allowedOrigins に特別な値 "*" が含まれていないことを検証します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public CorsConfiguration()
CorsConfiguration
インスタンスを作成します。public CorsConfiguration(CorsConfiguration other)
CorsConfiguration
からすべての値をコピーして、新しい CorsConfiguration
インスタンスを構築します。public void setAllowedOrigins(@Nullable ListSE<StringSE> origins)
"https://domain1.com"
、または CORS で定義されたすべてのオリジンの特別な値 "*"
。 一致したプリフライトおよび実際のリクエストの場合、Access-Control-Allow-Origin
レスポンスヘッダーは一致したドメイン値または "*"
のいずれかに設定されます。ただし、allowCredentials
が true
に設定されている場合、CORS 仕様では "*"
が許可されておらず、5.3 以降、その組み合わせは拒否され、代わりに allowedOriginPatterns
を使用することに注意してください。
デフォルトでは、これは設定されていません。つまり、オリジンは許可されていません。ただし、このクラスのインスタンスは、多くの場合、さらに初期化されます。@CrossOrigin
の場合、applyPermitDefaultValues()
経由。
@Nullable public ListSE<StringSE> getAllowedOrigins()
null
を返します。public void addAllowedOrigin(@Nullable StringSE origin)
setAllowedOrigins(java.util.List<java.lang.String>)
のバリアント。public CorsConfiguration setAllowedOriginPatterns(@Nullable ListSE<StringSE> allowedOriginPatterns)
setAllowedOrigins(java.util.List<java.lang.String>)
の代替。例: "*" のみをサポートし、allowCredentials
で使用できない allowedOrigins
とは対照的に、allowedOriginPattern が一致すると、Access-Control-Allow-Origin
レスポンスヘッダーは一致したオリジンに設定され、"*"
やパターンには設定されません。allowedOriginPatterns は、true
に設定された setAllowCredentials(java.lang.Boolean)
と組み合わせて使用できます。
デフォルトでは、これは設定されていません。
@Nullable public ListSE<StringSE> getAllowedOriginPatterns()
null
を返します。public void addAllowedOriginPattern(@Nullable StringSE originPattern)
setAllowedOriginPatterns(java.util.List<java.lang.String>)
のバリアント。public void setAllowedMethods(@Nullable ListSE<StringSE> allowedMethods)
"GET"
、"POST"
、"PUT"
など 特別な値 "*"
はすべてのメソッドを許可します。
設定しない場合、"GET"
と "HEAD"
のみが許可されます。
デフォルトでは、これは設定されていません。
注意 : CORS チェックは、クライアントから発信されたアドレスを反映するために、存在する場合、"Forwarded" (RFC 7239)、"X-Forwarded-Host"、"X-Forwarded-Port"、"X-Forwarded-Proto" ヘッダーの値を使用します。ForwardedHeaderFilter
を使用して、抽出して使用するか、このようなヘッダーを破棄するかを中央から選択することを検討してください。このフィルターの詳細については、Spring Framework リファレンスを参照してください。
@Nullable public ListSE<StringSE> getAllowedMethods()
null
を返します。この場合、"GET"
および "HEAD"
のみが許可されます。public void addAllowedMethod(HttpMethod method)
public void addAllowedMethod(StringSE method)
public void setAllowedHeaders(@Nullable ListSE<StringSE> allowedHeaders)
特別な値 "*"
を使用すると、実際のリクエストで任意のヘッダーを送信できます。
ヘッダー名が Cache-Control
、Content-Language
、Expires
、Last-Modified
または Pragma
のいずれかである場合、ヘッダー名をリストする必要はありません。
デフォルトでは、これは設定されていません。
@Nullable public ListSE<StringSE> getAllowedHeaders()
null
を返します。public void addAllowedHeader(StringSE allowedHeader)
public void setExposedHeaders(@Nullable ListSE<StringSE> exposedHeaders)
Cache-Control
、Content-Language
、Content-Type
、Expires
、Last-Modified
または Pragma
)以外のレスポンスヘッダーのリストを設定します。 特別な値 "*"
を使用すると、資格情報のないリクエストに対してすべてのヘッダーを公開できます。
デフォルトでは、これは設定されていません。
@Nullable public ListSE<StringSE> getExposedHeaders()
null
を返します。public void addExposedHeader(StringSE exposedHeader)
特別な値 "*"
を使用すると、資格情報のないリクエストに対してすべてのヘッダーを公開できます。
public void setAllowCredentials(@Nullable BooleanSE allowCredentials)
デフォルトでは、これは設定されていません(つまり、ユーザー資格情報はサポートされていません)。
@Nullable public BooleanSE getAllowCredentials()
allowCredentials
フラグを返します。ない場合は null
を返します。public void setMaxAge(DurationSE maxAge)
setMaxAge(Long)
public void setMaxAge(@Nullable LongSE maxAge)
デフォルトでは、これは設定されていません。
@Nullable public LongSE getMaxAge()
maxAge
値を返します。ない場合は null
値を返します。setMaxAge(Long)
public CorsConfiguration applyPermitDefaultValues()
CorsConfiguration
はクロスオリジンリクエストを許可しないため、明示的に設定する必要があります。このメソッドを使用して、GET、HEAD、POST のすべてのクロスオリジンリクエストを許可するが、すでに設定されている値をオーバーライドしないデフォルトに切り替えます。設定されていない値には、次のデフォルトが適用されます。
"*"
を持つすべてのオリジンを許可します。これは、origins
も originPatterns
もまだ設定されていない場合にのみ設定されます。GET
、HEAD
、POST
を許可します。public void validateAllowCredentials()
allowCredentials
が true の場合、"Access-Control-Allow-Origin" を "*"
に設定できないため、allowedOrigins
に特別な値 "*"
が含まれていないことを検証します。IllegalArgumentExceptionSE
- 検証が失敗した場合 public CorsConfiguration combine(@Nullable CorsConfiguration other)
CorsConfiguration
の null 以外のプロパティをこれと組み合わせます。allowCredentials
や maxAge
などの単一の値を組み合わせる場合、this
プロパティは、null でない other
プロパティがある場合はそれによってオーバーライドされます。
allowedOrigins
、allowedMethods
、allowedHeaders
や exposedHeaders
のようなリストの組み合わせは、相加的な方法で行われます。例: ["GET", "POST"]
を ["PATCH"]
と組み合わせると、["GET", "POST", "PATCH"]
になります。ただし、["GET", "POST"]
を ["*"]
と組み合わせると、["*"]
になります。applyPermitDefaultValues()
によって設定されたデフォルトの許可値は、明示的に定義された値によって上書きされることにも注意してください。
CorsConfiguration
、または提供された構成が null
の場合は this
構成 @Nullable public StringSE checkOrigin(@Nullable StringSE origin)
origin
- チェックする原点 null
@Nullable public ListSE<HttpMethod> checkHttpMethod(@Nullable HttpMethod requestMethod)
Access-Control-Request-Method
ヘッダーのメソッド)を、構成された許可されたメソッドと照合します。requestMethod
- チェックする HTTP リクエストメソッド requestMethod
が許可されていない場合は null
@Nullable public ListSE<StringSE> checkHeaders(@Nullable ListSE<StringSE> requestHeaders)
Access-Control-Request-Headers
にリストされているヘッダー)を、構成された許可されたヘッダーと照合します。requestHeaders
- チェックするリクエストヘッダー null