@Published public class UserIdAttribute extends java.lang.Object implements ThreadContextAttribute<java.lang.Object>
HTTPセッション上に格納されているログインユーザIDを スレッドコンテキストに格納する。
Constructor and Description |
---|
UserIdAttribute() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getKey()
スレッドコンテキストに格納する際に使用するプロパティのキー名を返す。
|
protected java.lang.Object |
getUserIdSession(ExecutionContext ctx,
java.lang.String skey)
セッションからユーザIDを取得する。
デフォルトではHTTPセッションからユーザIDを取得する。
必要に応じてオーバーライドすること。
|
java.lang.Object |
getValue(java.lang.Object req,
ExecutionContext ctx)
スレッドコンテキストに格納するプロパティの値を返す。
|
void |
setAnonymousId(java.lang.String anonymousId)
未ログイン時にスレッドコンテキストに設定されるIDを設定する。
|
void |
setSessionKey(java.lang.String sessionKey)
ログインユーザIDが格納されているHTTPセッション上のキー名を設定する。
|
public void setSessionKey(java.lang.String sessionKey)
デフォルトではgetKey()
の値を使用する。
sessionKey
- HTTPセッション上のキー名public void setAnonymousId(java.lang.String anonymousId)
明示的にこの値を設定しなかった場合、 未ログイン時にスレッドコンテキスト上のユーザIDは設定されない。
anonymousId
- 未ログイン時にスレッドコンテキストに設定されるIDpublic java.lang.String getKey()
ThreadContext.USER_ID_KEY
を使用する。
getKey
in interface ThreadContextAttribute<java.lang.Object>
public java.lang.Object getValue(java.lang.Object req, ExecutionContext ctx)
スレッドコンテキストに格納するユーザIDの値は以下のように決定される。 1. HTTPセッション上のキーsessionKey
の値を取得する。 その値がnullでなければスレッドコンテキストに設定する。 2. HTTPセッション上の値がnullであり、かつanonymousId
が 設定されていれば、その値をスレッドコンテキストに設定する。 3. 上記以外の場合はnullを設定する。
getValue
in interface ThreadContextAttribute<java.lang.Object>
req
- ハンドラの入力データctx
- 実行コンテキスト情報protected java.lang.Object getUserIdSession(ExecutionContext ctx, java.lang.String skey)
ctx
- 実行コンテキストskey
- ユーザIDのキー