JBossSeamでBasic認証ユーザ名をセッション終了時に取得
JBossSeamでセッション開始・終了のログを取るには
@AutoCreate @Scope(ScopeType.SESSION)
のアノテーションを付けたBean(POJOでOK)を作って、@Create,@Destroyアノテーショ
ンを付けたメソッドでログを出力するだけです。
しかしセッション終了でBeanがdestroyされる時にはfacesContext.getExternalContext
()….getRemoteUser()を実行してもBasic認証ユーザ名は取得できません。
解決策は単純で、Basic認証ユーザ名をBeanのフィールドに保存しておいて、終了時は@
Destroyメソッド内でそのフィールドを参照すればOKです。