Как использовать систему аудита jhipster для аудита смены пароля? - PullRequest
0 голосов
/ 24 мая 2018

Приложение Jhispter генерирует Audit-Events, когда пользователь входит в систему или вводит неправильный пароль.Я хотел бы использовать ту же систему для генерации событий, когда пользователь меняет пароль или когда администратор изменяет данные другого пользователя.Как мне назвать систему аудита?Моя текущая идея состоит в том, чтобы вызвать метод в changePassword-rest-api-call и сделать в этом методе нечто подобное, как в CustomAuditEventRepositoryIntTest.addAuditEvent

    Map<String, Object> data = new HashMap<>();
    data.put("password-strength", "weak");
    AuditEvent event = new AuditEvent(
        loginUsername, 
        "PASSWORD_CHANGE", 
        data);
    customAuditEventRepository.add(event);

Нужно ли мне изменить CustomAuditEventRepository илисоздать свою собственную версию?Или я просто использую PersistenceAuditEventRepository?И есть ли специальная волшебная конфигурация, чтобы аудит вызывался автоматически, или я просто вызываю его в rest-api-методе?

1 Ответ

0 голосов
/ 11 июня 2018

Я решил это так, как предложил Гаэль Марзиу: я публикую событие, и фреймворк отвечает за его сохранение в хранилище (или делаю что-то еще, в зависимости от конфигурации слушателей)

У моего пользователясервис, я добавил следующее:

...
private ApplicationEventPublisher applicationEventPublisher;
...
private void auditPasswordChange( User user ) {
    applicationEventPublisher.publishEvent(
        new AuditApplicationEvent(
            user.getLogin(), AUDIT_PASSWORD_CHANGE, "message=Changed by own user")
    );
}
...
public void changePassword(String password) {
    ...
    auditPasswordChange(user);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...