如何使用 Jhipster 生成的代码为注销添加审核?
Posted
技术标签:
【中文标题】如何使用 Jhipster 生成的代码为注销添加审核?【英文标题】:How to add audit for logout with Jhipster generated code? 【发布时间】:2015-05-05 08:50:20 【问题描述】:我调试了如何将审计添加到系统中以成功登录,并发现 CustomAuditEventRepository.auditEventRepository().add(AuditEvent event) 正在使用 aop 调用。是否有任何文档如何为任何自定义操作添加审核?
【问题讨论】:
【参考方案1】:我能够使用以下代码实现上述目标。
创建了可以发布审计事件的类。import org.springframework.boot.actuate.audit.AuditEvent;
import org.springframework.boot.actuate.audit.listener.AuditApplicationEvent;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AuditEventPublisher implements ApplicationEventPublisherAware
private ApplicationEventPublisher publisher;
@Override
public void setApplicationEventPublisher(
ApplicationEventPublisher publisher)
this.publisher = publisher;
public void publish(AuditEvent event)
if (this.publisher != null)
this.publisher.publishEvent(new AuditApplicationEvent(event));
在您需要的地方注入 AuditEventPublisher 并调用带有审计事件的发布以插入到数据库中
@RestController
@RequestMapping("/api")
public class UserXAuthTokenController
@Inject
private AuditEventPublisher auditPublisher;
.....
.....
@RequestMapping(value = "/logout",
method = RequestMethod.POST)
@Timed
public void logout(@RequestParam String authToken)
String principal = tokenProvider.getUserNameFromToken(authToken);
AuditEvent event = new AuditEvent(principal, "LOGOUT_START", new HashMap<String, Object>());
auditPublisher.publish(event);
SecurityContextHolder.clearContext();
【讨论】:
以上是关于如何使用 Jhipster 生成的代码为注销添加审核?的主要内容,如果未能解决你的问题,请参考以下文章
如何制作一个嵌入 H2 的演示 JHipster 用于“生产”
更新 JHipster 生成器后如何更新 JHipster 项目?
是否有任何 Maven 插件可用于从 Jhipster 中删除生成类的 getter/setter 并添加 lombok [关闭]