インターフェース WebSession

すべての既知の実装クラス:
MockWebSession

public interface WebSession
HTTP リクエスト全体でセッション属性へのアクセスを提供するサーバー側セッションを使用するための主な契約。

WebSession インスタンスを作成してもセッションは自動的に開始されないため、セッション ID がクライアントに送信されます(通常は Cookie を介して)。セッション属性が追加されると、セッションは暗黙的に開始されます。セッションは start() を介して明示的に作成することもできます。

導入:
5.0
作成者:
Rossen Stoyanchev
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    reactor.core.publisher.Mono<VoidSE>
    セッションの新しい ID を生成し、基になるセッションストレージを更新して新しい ID を反映させます。
    default <T> T
    存在する場合、セッション属性値を返します。
    default <T> T
    getAttributeOrDefault(StringSE name, T defaultValue)
    セッション属性値、またはデフォルトのフォールバック値を返します。
    セッション属性を保持するマップを返します。
    セッションが作成された時刻を返します。
    一意のセッション識別子を返します。
    HTTP リクエストなどのユーザーアクティビティの結果として、セッションアクセスの最後の時間を返します。
    lastAccessTime の後、セッションが期限切れになるまでの最大時間を返します。
    default <T> T
    セッション属性値を返すか、存在しない場合は IllegalArgumentExceptionSE を発生させます。
    reactor.core.publisher.Mono<VoidSE>
    現在のセッションを無効にし、セッションストレージをクリアします。
    boolean
    maxIdleTime の経過後にセッションが期限切れになった場合は、true を返します。
    boolean
    クライアントとのセッションが start() を介して明示的に開始されたか、セッション属性を追加して暗黙的に開始されたか。
    reactor.core.publisher.Mono<VoidSE>
    次のように WebSessionStore を介してセッションを保存します。セッションが新しい場合(つまり
    void
    lastAccessTime の後、セッションが期限切れと見なされるまでの最大時間を設定します。
    void
    save() が呼び出されたときにセッション ID が送信されるように、セッションを強制的に作成します。
  • メソッドの詳細

    • getId

      StringSE getId()
      一意のセッション識別子を返します。
    • getAttributes

      MapSE<StringSE,ObjectSE> getAttributes()
      セッション属性を保持するマップを返します。
    • getAttribute

      @Nullable default <T> T getAttribute(StringSE name)
      存在する場合、セッション属性値を返します。
      型パラメーター:
      T - 属性型
      パラメーター:
      name - 属性名
      戻り値:
      属性値
    • getRequiredAttribute

      default <T> T getRequiredAttribute(StringSE name)
      セッション属性値を返すか、存在しない場合は IllegalArgumentExceptionSE を発生させます。
      型パラメーター:
      T - 属性型
      パラメーター:
      name - 属性名
      戻り値:
      属性値
    • getAttributeOrDefault

      default <T> T getAttributeOrDefault(StringSE name, T defaultValue)
      セッション属性値、またはデフォルトのフォールバック値を返します。
      型パラメーター:
      T - 属性型
      パラメーター:
      name - 属性名
      defaultValue - 代わりに返すデフォルト値
      戻り値:
      属性値
    • start

      void start()
      save() が呼び出されたときにセッション ID が送信されるように、セッションを強制的に作成します。
    • isStarted

      boolean isStarted()
      クライアントとのセッションが start() を介して明示的に開始されたか、セッション属性を追加して暗黙的に開始されたか。"false" の場合、セッション ID はクライアントに送信されず、save() メソッドは基本的に何もしません。
    • changeSessionId

      reactor.core.publisher.Mono<VoidSE> changeSessionId()
      セッションの新しい ID を生成し、基になるセッションストレージを更新して新しい ID を反映させます。呼び出しが成功した後、getId() は新しいセッション ID を反映します。
      戻り値:
      完了通知 (成功またはエラー)
    • invalidate

      reactor.core.publisher.Mono<VoidSE> invalidate()
      現在のセッションを無効にし、セッションストレージをクリアします。
      戻り値:
      完了通知 (成功またはエラー)
    • save

      reactor.core.publisher.Mono<VoidSE> save()
      次のように、WebSessionStore を介してセッションを保存します。
      • セッションが新しい(つまり、作成されたが永続化されていない)場合は、start() を介して明示的に開始されているか、属性を追加することによって暗黙的に開始されている必要があります。そうでない場合、このメソッドは効果がありません。
      • セッションが WebSessionStore を介して取得された場合、このメソッドの実装は、セッションが invalidated であったかどうかを確認し、そうであった場合はエラーを返す必要があります。

      このメソッドは、アプリケーションで直接使用するためのものではないことに注意してください。代わりに、レスポンスがコミットされる直前に自動的に呼び出されます。

      戻り値:
      Mono は、成功またはエラーで完了を示します
    • isExpired

      boolean isExpired()
      maxIdleTime の経過後にセッションが期限切れになった場合は、true を返します。

      通常、セッションがアクセスされたときに有効期限チェックが自動的に行われ、必要に応じて新しい WebSession インスタンスがリクエスト処理の開始時に作成されるため、アプリケーションはデフォルトで期限切れのセッションについて心配する必要がありません。

    • getCreationTime

      InstantSE getCreationTime()
      セッションが作成された時刻を返します。
    • getLastAccessTime

      InstantSE getLastAccessTime()
      HTTP リクエストなどのユーザーアクティビティの結果として、セッションアクセスの最後の時間を返します。maxIdleTimeInSeconds と一緒に使用すると、いつセッションが expired であるかを判別できます。
    • setMaxIdleTime

      void setMaxIdleTime(DurationSE maxIdleTime)
      lastAccessTime の後、セッションが期限切れと見なされるまでの最大時間を設定します。負の値は、セッションが期限切れにならないことを示します。
    • getMaxIdleTime

      DurationSE getMaxIdleTime()
      lastAccessTime の後、セッションが期限切れになるまでの最大時間を返します。負の時間は、セッションが期限切れにならないことを示します。