タイトルが長くて申し訳ありませんが、他に具体的に言う方法がわかりませんでした。
私が持っているもの:
Hibernate Interceptor を使用して Hibernate 呼び出しをインターセプトし、監査ログ エントリを追加する監査証跡モジュールを開発しています。これはうまくいきます。
私の Web アプリケーションは Struts2 と Spring を使用しています。私の Hibernate Interceptor は、Spring の ApplicationContext にアクセスできます。
私が欲しいもの:
各監査ログ エントリに「意味を与える」必要があるため、プレゼンテーション レイヤー (Struts) で行われた各リクエストのパラメーター (文字列メッセージなど) を Spring の ApplicationContext に渡す必要があります。そうすれば、Hibernate Interceptor のパラメーターにアクセスして、それに応じてログに記録できます。
例:
- Struts - ユーザー詳細ページ: setPassword(user1, mypass)、「User1 がパスワードを変更しました」という新しいメッセージを生成します。
- このメッセージは、Spring の ApplicationContext に注入されます。
- Hibernate Interceptor は「更新」をインターセプトし、Spring の ApplicationContext から前のメッセージを取得して、メッセージを含む新しいログ エントリを作成します。
これを行う方法を知っていますか?