Class SessionStoreHandler

java.lang.Object
nablarch.common.web.session.SessionStoreHandler
All Implemented Interfaces:
Handler<Object,Object>

public class SessionStoreHandler extends Object implements Handler<Object,Object>
ストアを選択できるセッション保存機能のためのハンドラ。
Author:
kawasima, tajima
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    セッションがinvalidateされたことを示すフラグを リクエストスコープに設定する際に使用するキー
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    handle(Object data, ExecutionContext context)
    入力データに対する処理を実行する。
    protected HttpResponse
    セッションのロード時に発生したRuntimeExceptionを処理する。
    protected String
    readId(ServletExecutionContext context, long current)
    クッキーからセッションIDを読み出す。
    void
    setCookieDomain(String cookieDomain)
    セッションIDを保持するクッキーのdomain属性を設定する。 デフォルトでは未指定。 この場合、当該のクッキーは発行元ホストのみに送信される。
    void
    setCookieName(String cookieName)
    セッションIDを保持するクッキーの名称を設定する。 デフォルトは "NABLARCH_SID"
    void
    setCookiePath(String cookiePath)
    セッションIDを保持するクッキーのpath属性を設定する。 デフォルトではホスト配下の全てのパスを送信対象とする。
    void
    setCookieSecure(boolean cookieSecure)
    セッショントラッキングIDを保持するクッキーにsecure属性を指定するかどうかを設定する。 trueに設定した場合、当該のクッキーはSSL接続されたリクエストでのみ送信される。 デフォルトはfalse。
    void
    有効期限を設定する。
    void
    セッションマネージャを設定する。
    protected void
    setSessionTrackingCookie(Session session, jakarta.servlet.http.HttpServletResponse response)
    セッションIDを保持するためのクッキーをレスポンスのSet-Cookieヘッダに追加する。
    protected void
    セッションIDを書き出す。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • IS_INVALIDATED_KEY

      public static final String IS_INVALIDATED_KEY
      セッションがinvalidateされたことを示すフラグを リクエストスコープに設定する際に使用するキー
      See Also:
  • Constructor Details

    • SessionStoreHandler

      public SessionStoreHandler()
  • Method Details

    • handleLoadFailed

      protected HttpResponse handleLoadFailed(Object data, ExecutionContext context, RuntimeException e)
      セッションのロード時に発生したRuntimeExceptionを処理する。

      次の例外が発生した場合は、クライアントによる改竄の可能性があるため、 ステータスコード400のエラーレスポンスを返却する。

      HiddenStore.HiddenStoreLoadFailedException
       
      それ以外は、指定された例外をそのまま再送出する。
      Parameters:
      data - 入力データ
      context - 実行コンテキスト
      e - RuntimeException
      Returns:
      レスポンスオブジェクト
    • handle

      public Object handle(Object data, ExecutionContext context)
      Description copied from interface: Handler
      入力データに対する処理を実行する。
      Specified by:
      handle in interface Handler<Object,Object>
      Parameters:
      data - 入力データ
      context - 実行コンテキスト
      Returns:
      処理結果データ
    • writeId

      protected void writeId(Session session, ServletExecutionContext context)
      セッションIDを書き出す。
      Parameters:
      session - セッション
      context - 実行コンテキスト
    • setSessionTrackingCookie

      protected void setSessionTrackingCookie(Session session, jakarta.servlet.http.HttpServletResponse response)
      セッションIDを保持するためのクッキーをレスポンスのSet-Cookieヘッダに追加する。
      Parameters:
      session - セッション
      response - サーブレットレスポンス
    • readId

      protected String readId(ServletExecutionContext context, long current)
      クッキーからセッションIDを読み出す。
      Parameters:
      context - 実行コンテキスト
      Returns:
      セッションID
    • setSessionManager

      public void setSessionManager(SessionManager sessionManager)
      セッションマネージャを設定する。
      Parameters:
      sessionManager - セッションマネージャ
    • setCookieName

      public void setCookieName(String cookieName)
      セッションIDを保持するクッキーの名称を設定する。 デフォルトは "NABLARCH_SID"
      Parameters:
      cookieName - クッキー名
    • setCookiePath

      public void setCookiePath(String cookiePath)
      セッションIDを保持するクッキーのpath属性を設定する。 デフォルトではホスト配下の全てのパスを送信対象とする。
      Parameters:
      cookiePath - クッキーパス
    • setCookieDomain

      public void setCookieDomain(String cookieDomain)
      セッションIDを保持するクッキーのdomain属性を設定する。 デフォルトでは未指定。 この場合、当該のクッキーは発行元ホストのみに送信される。
      Parameters:
      cookieDomain - クッキードメイン
    • setCookieSecure

      public void setCookieSecure(boolean cookieSecure)
      セッショントラッキングIDを保持するクッキーにsecure属性を指定するかどうかを設定する。 trueに設定した場合、当該のクッキーはSSL接続されたリクエストでのみ送信される。 デフォルトはfalse。
      Parameters:
      cookieSecure - セキュア属性を付けたいならばtrue
    • setExpiration

      public void setExpiration(Expiration expiration)
      有効期限を設定する。
      Parameters:
      expiration - 有効期限