Я использую Hibernate Envers в среде Tomcat. Работает нормально. Однако мне нужно иметь возможность добавить имя пользователя, который изменил данные, подлежащие аудиту. Это можно сделать, внедрив собственную версию RevisionEntity. Затем вам также нужно реализовать пользовательский RevisionListener
, который будет заполнять дополнительную информацию, которую вы хотите проверить. Мне нужно проверить имя пользователя, которое изменило данные, которые должны быть проверены. В документации приведен пример того, как это сделать с помощью Seam. В RevisionListener
они называют:
Identity identity = (Identity) Component.getInstance("org.jboss.seam.security.identity");
Для получения имени пользователя. В моем проекте мы разделили проект на отдельные модули для базы данных и сети. Мне нужно внедрить мой прослушиватель ревизии custum в мой модуль базы данных, чтобы иметь возможность получить текущее имя пользователя. Я не могу переместить RevisionListener
в веб-пакет и ввести зависимость от веб-модуля из модуля базы данных. Как я могу получить текущее имя пользователя так, чтобы одновременно обрабатывать несколько пользователей, вошедших в мой пользовательский RevisionListener`?
Наилучшим решением будет то, которое работает в большинстве контейнеров.