クラス DefaultCookieSerializer
java.lang.ObjectSE
org.springframework.session.web.http.DefaultCookieSerializer
- 実装されたすべてのインターフェース:
CookieSerializer
CookieSerializer
のデフォルト実装。- 導入:
- 1.1
ネストされたクラスのサマリー
インターフェース org.springframework.session.web.http.CookieSerializer から継承されたネストクラス / インターフェース
CookieSerializer.CookieValue
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明Cookie をInteger.MAX_VALUE
SE で書き込む必要があるかどうかを確認するためにチェックされるリクエスト属性の名前を取得します。readCookieValues
(jakarta.servlet.http.HttpServletRequest request) HttpServletRequest
から一致するすべての Cookie を読み取ります。void
setCookieMaxAge
(int cookieMaxAge) Cookie の maxAge プロパティを設定します。void
setCookieName
(StringSE cookieName) void
setCookiePath
(StringSE cookiePath) Cookie のパスを設定します。void
setDomainName
(StringSE domainName) 明示的なドメイン名を設定します。void
setDomainNamePattern
(StringSE domainNamePattern) ServletRequest.getServerName()
からドメイン名を抽出するために使用される大文字と小文字を区別しないパターンを設定します。void
setJvmRoute
(StringSE jvmRoute) セッションアフィニティのためにルーティングする JVM を識別するために使用されます。void
setRememberMeRequestAttribute
(StringSE rememberMeRequestAttribute) Remember-me ログインを示すリクエスト属性名を設定します。void
setSameSite
(StringSE sameSite) SameSite
cookie ディレクティブの値を設定します。void
setUseBase64Encoding
(boolean useBase64Encoding) Cookie 値の Base64 エンコーディングを使用する必要があるかどうかを設定します。void
setUseHttpOnlyCookie
(boolean useHttpOnlyCookie) HTTP のみとしてマークされた Cookie を使用するかどうかを設定します。void
setUseSecureCookie
(boolean useSecureCookie) 安全とマークされた Cookie を使用するかどうかを設定します。void
writeCookieValue
(CookieSerializer.CookieValue cookieValue) 指定されたCookieSerializer.CookieValue
を指定されたHttpServletResponse
に書き込みます。
コンストラクターの詳細
DefaultCookieSerializer
public DefaultCookieSerializer()
メソッドの詳細
readCookieValues
インターフェースからコピーされた説明:CookieSerializer
HttpServletRequest
から一致するすべての Cookie を読み取ります。名前が一致する単一のリクエストに複数のCookie
が存在する可能性があるため、結果はリストになります。例: 1 つの Cookie のパスが / で、別の Cookie のパスが /context, である可能性がありますが、パスはリクエストで送信されません。- 次で指定:
- インターフェース
CookieSerializer
のreadCookieValues
- パラメーター:
request
- Cookie を読み取るHttpServletRequest
。null にすることはできません。- 戻り値:
- 一致するすべての Cookie の値
writeCookieValue
インターフェースからコピーされた説明:CookieSerializer
指定されたCookieSerializer.CookieValue
を指定されたHttpServletResponse
に書き込みます。- 次で指定:
- インターフェース
CookieSerializer
のwriteCookieValue
- パラメーター:
cookieValue
-CookieSerializer.CookieValue.getResponse()
に書き込むCookieSerializer.CookieValue
。null にすることはできません。
setUseSecureCookie
public void setUseSecureCookie(boolean useSecureCookie) 安全とマークされた Cookie を使用するかどうかを設定します。デフォルトでは、ServletRequest.isSecure()
の値を使用します。- パラメーター:
useSecureCookie
- Cookie を安全としてマークする必要があるかどうかを決定します。
setUseHttpOnlyCookie
public void setUseHttpOnlyCookie(boolean useHttpOnlyCookie) HTTP のみとしてマークされた Cookie を使用するかどうかを設定します。デフォルトは true です。- パラメーター:
useHttpOnlyCookie
- Cookie を HTTP のみとしてマークする必要があるかどうかを決定します。
setCookiePath
Cookie のパスを設定します。デフォルトでは、HttpServletRequest
からのコンテキストパスを使用します。- パラメーター:
cookiePath
- クッキーのパス。null の場合、コンテキストパスのデフォルトが使用されます。
setCookieName
setCookieMaxAge
public void setCookieMaxAge(int cookieMaxAge) Cookie の maxAge プロパティを設定します。デフォルトでは、ブラウザーを閉じたときに Cookie が削除されます。- パラメーター:
cookieMaxAge
- Cookie の maxAge プロパティ (秒で定義)
setDomainName
明示的なドメイン名を設定します。これにより、リクエストが www.example.com から送信されたときに、"example.com" のドメインを使用できるようになります。これにより、サブドメイン間で Cookie を共有できます。デフォルトでは、現在のドメインを使用します。- パラメーター:
domainName
- 使用するドメインの名前。(つまり、"example.com" )- 例外:
IllegalStateExceptionSE
- domainNamePattern も設定されている場合
setDomainNamePattern
ServletRequest.getServerName()
からドメイン名を抽出するために使用される大文字と小文字を区別しないパターンを設定します。パターンは、一致する値を定義する単一のグループ化を提供する必要があります。ユーザーは、HTTP レスポンスの分割のようなものを防ぐために、新しい行のような悪意のある文字を出力しないように注意する必要があります。パターンが一致しない場合、ドメインは設定されません。これは、ローカルホストが使用される可能性がある開発中にドメインが設定されないようにするために役立ちます。
値の例としては、"^.+?\\.(\\w+\\.[a-z]+)$" などがあります。指定された入力に対して、次の明示的なドメインが提供されます (null はドメイン名が設定されていないことを意味します)。
- example.com - null
- child.sub.example.com - example.com
- localhost - null
- 127.0.1.1 - null
- パラメーター:
domainNamePattern
- ドメイン名を抽出するための大文字と小文字を区別しないパターン- 例外:
IllegalStateExceptionSE
- domainName も設定されている場合
setJvmRoute
セッションアフィニティのためにルーティングする JVM を識別するために使用されます。一部の実装(Redis など)では、これはパフォーマンス上の利点を提供しません。ただし、これは特定のユーザーのログを追跡できます。これにより、Cookie の値が次のようにフォーマットされます。
sessionId + "." jvmRoute
使用するには、各 JVM インスタンスにカスタムルートを設定し、ルートに基づいてすべてのリクエストを JVM に転送するようにフロントエンドプロキシを設定します。
- パラメーター:
jvmRoute
- 使用する JVM ルート (つまり、"node01jvmA"、"n01ja" など)
setUseBase64Encoding
public void setUseBase64Encoding(boolean useBase64Encoding) Cookie 値の Base64 エンコーディングを使用する必要があるかどうかを設定します。これは、Cookie 値に Base64 エンコーディングを使用することを推奨する RFC 6265 をサポートするために役立ちます。- パラメーター:
useBase64Encoding
- Base64 エンコーディングを使用するかどうかを示すフラグ
setRememberMeRequestAttribute
Remember-me ログインを示すリクエスト属性名を設定します。指定した場合、Cookie は Integer.MAX_VALUE として書き込まれます。- パラメーター:
rememberMeRequestAttribute
- Remember-me リクエストの属性名- 導入:
- 1.3.0
setSameSite
SameSite
cookie ディレクティブの値を設定します。デフォルト値はLax
です。- パラメーター:
sameSite
- SameSite ディレクティブ値- 導入:
- 2.1.0
getRememberMeRequestAttribute
Cookie をInteger.MAX_VALUE
SE で書き込む必要があるかどうかを確認するためにチェックされるリクエスト属性の名前を取得します。- 戻り値:
- 「私を覚えてください」リクエスト属性
- 導入:
- 3.2