public interface WebSessionWebSession インスタンスを作成してもセッションは自動的に開始されないため、セッション ID がクライアントに送信されます(通常は Cookie を介して)。セッション属性が追加されると、セッションは暗黙的に開始されます。セッションは start() を介して明示的に作成することもできます。
| 修飾子と型 | メソッドと説明 |
|---|---|
reactor.core.publisher.Mono<VoidSE> | changeSessionId() セッションの新しい ID を生成し、基になるセッションストレージを更新して新しい ID を反映させます。 |
default <T> T | getAttribute(StringSE name) 存在する場合、セッション属性値を返します。 |
default <T> T | getAttributeOrDefault(StringSE name, T defaultValue) セッション属性値、またはデフォルトのフォールバック値を返します。 |
MapSE<StringSE, ObjectSE> | getAttributes() セッション属性を保持するマップを返します。 |
InstantSE | getCreationTime() セッションが作成された時刻を返します。 |
StringSE | getId() 一意のセッション識別子を返します。 |
InstantSE | getLastAccessTime()HTTP リクエストなどのユーザーアクティビティの結果として、セッションアクセスの最後の時間を返します。 |
DurationSE | getMaxIdleTime()lastAccessTime の後、セッションが期限切れになるまでの最大時間を返します。 |
default <T> T | getRequiredAttribute(StringSE name) セッション属性値を返すか、存在しない場合は IllegalArgumentExceptionSE を発生させます。 |
reactor.core.publisher.Mono<VoidSE> | invalidate() 現在のセッションを無効にし、セッションストレージをクリアします。 |
boolean | isExpired()maxIdleTime の経過後にセッションが期限切れになった場合は、true を返します。 |
boolean | isStarted() クライアントとのセッションが start() を介して明示的に開始されたか、セッション属性を追加して暗黙的に開始されたか。 |
reactor.core.publisher.Mono<VoidSE> | save() 次のように WebSessionStore を介してセッションを保存します。セッションが新しい場合(つまり |
void | setMaxIdleTime(DurationSE maxIdleTime)lastAccessTime の後、セッションが期限切れと見なされるまでの最大時間を設定します。 |
void | start()save() が呼び出されたときにセッション ID が送信されるように、セッションを強制的に作成します。 |
StringSE getId()
@Nullable default <T> T getAttribute(StringSE name)
T - 属性型 name - 属性名 default <T> T getRequiredAttribute(StringSE name)
IllegalArgumentExceptionSE を発生させます。T - 属性型 name - 属性名 default <T> T getAttributeOrDefault(StringSE name, T defaultValue)
T - 属性型 name - 属性名 defaultValue - 代わりに返すデフォルト値 void start()
save() が呼び出されたときにセッション ID が送信されるように、セッションを強制的に作成します。boolean isStarted()
reactor.core.publisher.Mono<VoidSE> changeSessionId()
getId() は新しいセッション ID を反映します。reactor.core.publisher.Mono<VoidSE> invalidate()
reactor.core.publisher.Mono<VoidSE> save()
WebSessionStore を介してセッションを保存します。start() を介して明示的に開始されているか、属性を追加することによって暗黙的に開始されている必要があります。そうでない場合、このメソッドは効果がありません。WebSessionStore を介して取得された場合、このメソッドの実装は、セッションが invalidated であったかどうかを確認し、そうであった場合はエラーを返す必要があります。このメソッドは、アプリケーションで直接使用するためのものではないことに注意してください。代わりに、レスポンスがコミットされる直前に自動的に呼び出されます。
Mono は、成功またはエラーで完了を示します boolean isExpired()
maxIdleTime の経過後にセッションが期限切れになった場合は、true を返します。 通常、セッションがアクセスされたときに有効期限チェックが自動的に行われ、必要に応じて新しい WebSession インスタンスがリクエスト処理の開始時に作成されるため、アプリケーションはデフォルトで期限切れのセッションについて心配する必要がありません。
InstantSE getCreationTime()
InstantSE getLastAccessTime()
maxIdleTimeInSeconds と一緒に使用すると、いつセッションが expired であるかを判別できます。void setMaxIdleTime(DurationSE maxIdleTime)
lastAccessTime の後、セッションが期限切れと見なされるまでの最大時間を設定します。負の値は、セッションが期限切れにならないことを示します。DurationSE getMaxIdleTime()
lastAccessTime の後、セッションが期限切れになるまでの最大時間を返します。負の時間は、セッションが期限切れにならないことを示します。