読者です 読者をやめる 読者になる 読者になる

JBossSeamでBasic認証ユーザ名をセッション終了時に取得

JBossSeamでセッション開始・終了のログを取るには

@AutoCreate @Scope(ScopeType.SESSION)

アノテーションを付けたBean(POJOでOK)を作って、@Create,@Destroyアノテーショ
ンを付けたメソッドでログを出力するだけです。

しかしセッション終了でBeanがdestroyされる時にはfacesContext.getExternalContext
()….getRemoteUser()を実行してもBasic認証ユーザ名は取得できません。

解決策は単純で、Basic認証ユーザ名をBeanのフィールドに保存しておいて、終了時は@
Destroyメソッド内でそのフィールドを参照すればOKです。