クラス HstsHeaderWriter
- java.lang.Object
-
- org.springframework.security.web.header.writers.HstsHeaderWriter
- 実装されているすべてのインターフェース:
HeaderWriter
public final class HstsHeaderWriter extends java.lang.Object implements HeaderWriter
HTTP Strict Transport Security (HSTS) をサポートします。デフォルトでは、有効期限は 1 年で、サブドメインが含まれ、プリロードは含まれません。これは、それぞれ
setMaxAgeInSeconds(long)、setIncludeSubDomains(boolean)、setPreload(boolean)を使用してカスタマイズできます。セクション 7.2 は、HSTS ホストが HTTP レスポンスに STS ヘッダーを含めてはならないことを示しているため、デフォルトの動作では、
ServletRequest.isSecure()がtrueを返した場合にのみ "Strict-Transport-Security" が追加されます。時々これはカスタマイズされる必要があるかもしれません。例: SSL ターミネーションが使用されるいくつかの状況では、SSL が使用されたかどうかを判別するために他の何かが使用される場合があります。これらの状況では、setRequestMatcher(RequestMatcher)をカスタムRequestMatcherで呼び出すことができます。HSTS プリロードの詳細については、Web サイト hstspreload.org を参照してください。
- 導入:
- 3.2
コンストラクターの概要
コンストラクター コンストラクター 説明 HstsHeaderWriter()新しいインスタンスを作成しますHstsHeaderWriter(boolean includeSubDomains)新しいインスタンスを作成しますHstsHeaderWriter(long maxAgeInSeconds)新しいインスタンスを作成しますHstsHeaderWriter(long maxAgeInSeconds, boolean includeSubDomains)新しいインスタンスを作成しますHstsHeaderWriter(long maxAgeInSeconds, boolean includeSubDomains, boolean preload)新しいインスタンスを作成しますHstsHeaderWriter(RequestMatcher requestMatcher, long maxAgeInSeconds, boolean includeSubDomains)新しいインスタンスを作成しますHstsHeaderWriter(RequestMatcher requestMatcher, long maxAgeInSeconds, boolean includeSubDomains, boolean preload)新しいインスタンスを作成します
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 voidsetIncludeSubDomains(boolean includeSubDomains)true の場合、サブドメインも HSTS ホストと見なす必要があります。voidsetMaxAgeInSeconds(long maxAgeInSeconds)Strict-Transport-Security ヘッダーの max-age ディレクティブの値(秒単位)を設定します。voidsetPreload(boolean preload)true の場合、プリロードは HSTS ヘッダーに含まれます。voidsetRequestMatcher(RequestMatcher requestMatcher)"Strict-Transport-Security" を追加するかどうかを決定するために使用されるRequestMatcherを設定します。voidwriteHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)Headerインスタンスを作成します。
コンストラクターの詳細
HstsHeaderWriter
public HstsHeaderWriter(RequestMatcher requestMatcher, long maxAgeInSeconds, boolean includeSubDomains, boolean preload)
新しいインスタンスを作成します- パラメーター:
requestMatcher-setRequestMatcher(RequestMatcher)にマップmaxAgeInSeconds-setMaxAgeInSeconds(long)にマップincludeSubDomains-setIncludeSubDomains(boolean)にマップpreload-setPreload(boolean)にマップ- 導入:
- 5.2.0
HstsHeaderWriter
public HstsHeaderWriter(RequestMatcher requestMatcher, long maxAgeInSeconds, boolean includeSubDomains)
新しいインスタンスを作成します- パラメーター:
requestMatcher-setRequestMatcher(RequestMatcher)にマップmaxAgeInSeconds-setMaxAgeInSeconds(long)にマップincludeSubDomains-setIncludeSubDomains(boolean)にマップ
HstsHeaderWriter
public HstsHeaderWriter(long maxAgeInSeconds, boolean includeSubDomains, boolean preload)新しいインスタンスを作成します- パラメーター:
maxAgeInSeconds-setMaxAgeInSeconds(long)にマップincludeSubDomains-setIncludeSubDomains(boolean)にマップpreload-setPreload(boolean)にマップ- 導入:
- 5.2.0
HstsHeaderWriter
public HstsHeaderWriter(long maxAgeInSeconds, boolean includeSubDomains)新しいインスタンスを作成します- パラメーター:
maxAgeInSeconds-setMaxAgeInSeconds(long)にマップincludeSubDomains-setIncludeSubDomains(boolean)にマップ
HstsHeaderWriter
public HstsHeaderWriter(long maxAgeInSeconds)
新しいインスタンスを作成します- パラメーター:
maxAgeInSeconds-setMaxAgeInSeconds(long)にマップ
HstsHeaderWriter
public HstsHeaderWriter(boolean includeSubDomains)
新しいインスタンスを作成します- パラメーター:
includeSubDomains-setIncludeSubDomains(boolean)にマップ
HstsHeaderWriter
public HstsHeaderWriter()
新しいインスタンスを作成します
メソッドの詳細
writeHeaders
public void writeHeaders(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)インターフェースからコピーされた説明:HeaderWriterHeaderインスタンスを作成します。- 次で指定:
- インターフェース
HeaderWriterのwriteHeaders - パラメーター:
request- リクエストresponse- レスポンス
setRequestMatcher
public void setRequestMatcher(RequestMatcher requestMatcher)
"Strict-Transport-Security" を追加するかどうかを決定するために使用されるRequestMatcherを設定します。true の場合、ヘッダーが追加されます。それ以外の場合、ヘッダーは追加されません。デフォルトでは、ServletRequest.isSecure()が true を返すときにヘッダーが追加されます。- パラメーター:
requestMatcher- 使用するRequestMatcher。- 例外:
java.lang.IllegalArgumentException-RequestMatcherが null の場合
setMaxAgeInSeconds
public void setMaxAgeInSeconds(long maxAgeInSeconds)
Strict-Transport-Security ヘッダーの max-age ディレクティブの値(秒単位)を設定します。デフォルトは 1 年です。
これは、このドメインを既知の HSTS ホストとして保持することを覚えておく時間をブラウザーに指示します。詳細については、セクション 6.1.1 を参照してください。
- パラメーター:
maxAgeInSeconds- このドメインを既知の HSTS ホストと見なす最大時間(秒)。- 例外:
java.lang.IllegalArgumentException- maxAgeInSeconds が負の場合
setIncludeSubDomains
public void setIncludeSubDomains(boolean includeSubDomains)
true の場合、サブドメインも HSTS ホストと見なす必要があります。デフォルトは true です。
詳細については、セクション 6.1.2 を参照してください。
- パラメーター:
includeSubDomains- サブドメインを含める場合は true、それ以外の場合は false
setPreload
public void setPreload(boolean preload)
true の場合、プリロードは HSTS ヘッダーに含まれます。デフォルトは false です。
詳細については、セクション 6.1.2 を参照してください。
- パラメーター:
preload- プリロードを含める場合は true、それ以外の場合は false- 導入:
- 5.2.0