1 回答
TA贡献1813条经验 获得超2个赞
当您无法像往常一样访问资源或处理请求时,您需要更改过滤器中的请求。你的 HelloFilter 看起来像这样:
@Override
public Publisher<MutableHttpResponse<?>> doFilter(HttpRequest<?> theReq, ServerFilterChain theChain) {
System.out.println("Filtering!");
Publisher<MutableHttpResponse<?>> resp = secService.checkAuthorization(theReq)
.switchMap((authResult) -> { // authResult - is you result from SecurityService
if (!authResult) {
return Publishers.just(HttpResponse.status(HttpStatus.FORBIDDEN)); // reject request
} else {
return theChain.proceed(theReq); // process request as usual
}
})
.doOnNext(res -> {
System.out.println("Responding!");
});
return (resp);
}
最后 - micronaut 具有带有 SecurityFilter 的安全模块,您可以使用 @Secured 批注或在配置文件中写入访问规则,文档中的更多示例
添加回答
举报