我调试了如何将审计添加到系统中以成功登录并发现 CustomAuditEventRepository.auditEventRepository().add(AuditEvent 事件) 正在使用 调用奥普 .是否有任何文档如何为任何自定义操作添加审核?
最佳答案
我能够使用以下代码实现上述目标。
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));
}
}
@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();
}
}
关于spring - 如何使用 Jhipster 生成的代码为注销添加审核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28853218/