Tomcat 環境で Hibernate Envers を使用しています。それは正常に動作します。ただし、監査対象のデータを変更したユーザーのユーザー名を追加できる必要があります。これは、独自のバージョンの RevisionEntity を実装することで実行できます。RevisionListener
次に、監査する追加情報を入力するカスタムも実装する必要があります。監査対象のデータを変更したユーザー名を監査する必要があります。ドキュメントでは、Seam でこれを行う方法の例です。彼らがRevisionListener
呼び出すで:
Identity identity = (Identity) Component.getInstance("org.jboss.seam.security.identity");
ユーザー名を取得します。私のプロジェクトでは、プロジェクトをデータベースと Web 用の個別のモジュールに分割しました。現在ログインしているユーザー名を取得できるようにするには、データベース モジュールにカスタム リビジョン リスナーを実装する必要があります。を Web パッケージに移動しRevisionListener
て、データベース モジュールから Web モジュールへの依存関係を導入することはできません。カスタム RevisionListener で同時にログインしている複数のユーザーを処理する方法で現在のユーザー名を取得するにはどうすればよいですか?
最善の解決策は、ほとんどのコンテナーで機能するものです。