最終変更時刻を記録するために、休止状態のイベント リスナーを使用しています。カスタム インテグレーターを使用して、イベント リスナーを登録します。ここで説明されているように、META-INF で特定の名前のファイルを作成して、インテグレーターを登録します。現在ログインしているユーザーのユーザー名も記録したいと思います。情報は HttpSession に存在すると思います。しかし、MergeEventListenerでは、HttpSession にアクセスできません。HttpSession を取得するにはどうすればよいですか、または現在ログインしているユーザーを取得する他の方法はありますか?
質問する
1838 次
2 に答える
1
私が見た最も一般的な解決策は、サーブレット フィルターを使用してThreadLocal
、要求が入ったときに情報を に入れることです。これにより、必要なスタックの任意のポイントで静的コンテキストからアクセスできるようになります。
于 2013-02-21T00:48:40.247 に答える
1
シングルトン クラスに 1 つのユーティリティ メソッドを作成し、次のコード行を追加すると、ログインした Usrename をいつでも返すことができます。
SecurityContextHolder.getContext().getAuthentication().getPrincipal()
Spring + Hibernate を使用して、Web アプリケーションで同じことを行いました。
これがあなたにも役立つことを願っています。
于 2013-02-21T08:34:40.610 に答える