0
我试图在春季启动应用程序中将自定义筛选器应用于我的端点,但是无法更改我的响应状态,但即使将其手动更改为401,它也会返回200。Spring引导REST api实现自定义筛选器
@Component
public class AuthFilter extends GenericFilterBean {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = ((HttpServletRequest) req);
HttpServletResponse response = ((HttpServletResponse) res);
String URI = request.getRequestURI();
String authHeader = request.getHeader("Authorization");
boolean endPoint = URI.startsWith("/auth/") || URI.startsWith("/resource/") || URI.startsWith("/project/") || URI.startsWith("/skill/");
if(endPoint) {
if(authHeader == null || !authHeader.startsWith("Bearer")) {
response.setStatus(401);
}
}
chain.doFilter(request, response);
}
}
任何有关什么可能会导致此问题的建议?
尝试:'如果(终点){如果(authHeader == ...){response.setStatus(401); } else {chain.doFilter(request,response);}} else else {chain.doFilter(request,response);}' –
是的,这个工程,非常感谢! – JustinCredible