OncePerRequestFilter 过滤springboot security放行的url
时间: 2023-11-17 17:56:06 浏览: 330
SpringBoot Security整合JWT授权RestAPI的实现
OncePerRequestFilter 是 Spring Security 提供的一个过滤器,它可以确保在一次请求中只执行一次过滤器。通过继承 OncePerRequestFilter 并实现 doFilterInternal 方法,我们可以自定义一个过滤器来控制 Spring Security 的访问控制。
在过滤器中,我们可以通过重写 shouldNotFilter 方法来指定哪些 URL 不需要被该过滤器拦截,从而实现放行的效果。例如:
```java
public class MyFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
// 过滤器逻辑
}
@Override
protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException {
String path = request.getServletPath();
return "/public".equals(path);
}
}
```
在上面的例子中,我们重写了 shouldNotFilter 方法,并指定了 "/public" 路径不需要被该过滤器拦截。
阅读全文