インターフェース WebSession
- すべての既知の実装クラス:
MockWebSession
public interface WebSession
HTTP リクエスト全体でセッション属性へのアクセスを提供するサーバー側セッションを使用するための主な契約。
WebSession
インスタンスを作成してもセッションは自動的に開始されないため、セッション ID がクライアントに送信されます(通常は Cookie を介して)。セッション属性が追加されると、セッションは暗黙的に開始されます。セッションは start()
を介して明示的に作成することもできます。
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev
メソッドのサマリー
修飾子と型メソッド説明reactor.core.publisher.Mono<VoidSE>
セッションの新しい ID を生成し、基になるセッションストレージを更新して新しい ID を反映させます。default <T> T
getAttribute
(StringSE name) 存在する場合、セッション属性値を返します。default <T> T
getAttributeOrDefault
(StringSE name, T defaultValue) セッション属性値、またはデフォルトのフォールバック値を返します。セッション属性を保持するマップを返します。セッションが作成された時刻を返します。getId()
一意のセッション識別子を返します。HTTP リクエストなどのユーザーアクティビティの結果として、セッションアクセスの最後の時間を返します。lastAccessTime
の後、セッションが期限切れになるまでの最大時間を返します。default <T> T
getRequiredAttribute
(StringSE name) セッション属性値を返すか、存在しない場合はIllegalArgumentException
SE を発生させます。reactor.core.publisher.Mono<VoidSE>
現在のセッションを無効にし、セッションストレージをクリアします。boolean
maxIdleTime
の経過後にセッションが期限切れになった場合は、true
を返します。boolean
クライアントとのセッションがstart()
を介して明示的に開始されたか、セッション属性を追加して暗黙的に開始されたか。reactor.core.publisher.Mono<VoidSE>
save()
次のようにWebSessionStore
を介してセッションを保存します。セッションが新しい場合(つまりvoid
setMaxIdleTime
(DurationSE maxIdleTime) lastAccessTime
の後、セッションが期限切れと見なされるまでの最大時間を設定します。void
start()
save()
が呼び出されたときにセッション ID が送信されるように、セッションを強制的に作成します。
メソッドの詳細
getId
StringSE getId()一意のセッション識別子を返します。getAttributes
セッション属性を保持するマップを返します。getAttribute
存在する場合、セッション属性値を返します。- 型パラメーター:
T
- 属性型- パラメーター:
name
- 属性名- 戻り値:
- 属性値
getRequiredAttribute
セッション属性値を返すか、存在しない場合はIllegalArgumentException
SE を発生させます。- 型パラメーター:
T
- 属性型- パラメーター:
name
- 属性名- 戻り値:
- 属性値
getAttributeOrDefault
セッション属性値、またはデフォルトのフォールバック値を返します。- 型パラメーター:
T
- 属性型- パラメーター:
name
- 属性名defaultValue
- 代わりに返すデフォルト値- 戻り値:
- 属性値
start
void start()save()
が呼び出されたときにセッション ID が送信されるように、セッションを強制的に作成します。isStarted
boolean isStarted()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
lastAccessTime
の後、セッションが期限切れと見なされるまでの最大時間を設定します。負の値は、セッションが期限切れにならないことを示します。getMaxIdleTime
DurationSE getMaxIdleTime()lastAccessTime
の後、セッションが期限切れになるまでの最大時間を返します。負の時間は、セッションが期限切れにならないことを示します。