【发布时间】:2019-07-08 15:18:16
【问题描述】:
我有一个带有许多不同 @RestController 的 Spring Boot 应用程序 一开始他们都做了以下事情:
if (user != null) {
log.debug("Got the following request: " + request.getURI().getPath() + " from: " + user.getName());
} else {
log.error("Warning user is not defined");
return ResponseEntity.status(HttpStatus.FORBIDDEN).build();
}
我怎样才能使父控制器对所有请求都进行这些检查,然后每个子控制器将继续其独特的逻辑?
【问题讨论】:
-
如果您想确保发出请求的用户经过身份验证,您应该使用
Spring Security。 -
感谢我使用 spring security,在这种情况下我只想打印发出请求的用户名
-
这听起来像是
Spring AOP的工作。创建一个处理程序并将@Before方法指向您的控制器包。 -
或者像过滤器或者拦截器。但是基类也应该起作用。也许您可以发布您的一个控制器并解释为什么简单的基类/子类方法不起作用?
标签: spring-boot spring-mvc spring-restcontroller