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