クラス DefaultCookieSerializer

java.lang.ObjectSE
org.springframework.session.web.http.DefaultCookieSerializer
実装されたすべてのインターフェース:
CookieSerializer

public class DefaultCookieSerializer extends ObjectSE implements CookieSerializer
CookieSerializer のデフォルト実装。
導入:
1.1
  • コンストラクターの詳細

    • DefaultCookieSerializer

      public DefaultCookieSerializer()
  • メソッドの詳細

    • readCookieValues

      public ListSE<StringSE> readCookieValues(jakarta.servlet.http.HttpServletRequest request)
      インターフェースからコピーされた説明: CookieSerializer
      HttpServletRequest から一致するすべての Cookie を読み取ります。名前が一致する単一のリクエストに複数の Cookie が存在する可能性があるため、結果はリストになります。例: 1 つの Cookie のパスが / で、別の Cookie のパスが /context, である可能性がありますが、パスはリクエストで送信されません。
      次で指定:
      インターフェース CookieSerializerreadCookieValues 
      パラメーター:
      request - Cookie を読み取る HttpServletRequest。null にすることはできません。
      戻り値:
      一致するすべての Cookie の値
    • writeCookieValue

      public void writeCookieValue(CookieSerializer.CookieValue cookieValue)
      インターフェースからコピーされた説明: CookieSerializer
      指定された CookieSerializer.CookieValue を指定された HttpServletResponse に書き込みます。
      次で指定:
      インターフェース CookieSerializerwriteCookieValue 
      パラメーター:
      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

      public void setCookiePath(StringSE cookiePath)
      Cookie のパスを設定します。デフォルトでは、HttpServletRequest からのコンテキストパスを使用します。
      パラメーター:
      cookiePath - クッキーのパス。null の場合、コンテキストパスのデフォルトが使用されます。
    • setCookieName

      public void setCookieName(StringSE cookieName)
    • setCookieMaxAge

      public void setCookieMaxAge(int cookieMaxAge)
      Cookie の maxAge プロパティを設定します。デフォルトでは、ブラウザーを閉じたときに Cookie が削除されます。
      パラメーター:
      cookieMaxAge - Cookie の maxAge プロパティ (秒で定義)
    • setDomainName

      public void setDomainName(StringSE domainName)
      明示的なドメイン名を設定します。これにより、リクエストが www.example.com から送信されたときに、"example.com" のドメインを使用できるようになります。これにより、サブドメイン間で Cookie を共有できます。デフォルトでは、現在のドメインを使用します。
      パラメーター:
      domainName - 使用するドメインの名前。(つまり、"example.com" )
      例外:
      IllegalStateExceptionSE - domainNamePattern も設定されている場合
    • setDomainNamePattern

      public void setDomainNamePattern(StringSE domainNamePattern)

      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

      public void setJvmRoute(StringSE jvmRoute)

      セッションアフィニティのためにルーティングする 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

      public void setRememberMeRequestAttribute(StringSE rememberMeRequestAttribute)
      Remember-me ログインを示すリクエスト属性名を設定します。指定した場合、Cookie は Integer.MAX_VALUE として書き込まれます。
      パラメーター:
      rememberMeRequestAttribute - Remember-me リクエストの属性名
      導入:
      1.3.0
    • setSameSite

      public void setSameSite(StringSE sameSite)
      SameSite cookie ディレクティブの値を設定します。デフォルト値は Lax です。
      パラメーター:
      sameSite - SameSite ディレクティブ値
      導入:
      2.1.0
    • getRememberMeRequestAttribute

      public StringSE getRememberMeRequestAttribute()
      Cookie を Integer.MAX_VALUESE で書き込む必要があるかどうかを確認するためにチェックされるリクエスト属性の名前を取得します。
      戻り値:
      「私を覚えてください」リクエスト属性
      導入:
      3.2