为了账号安全,请及时绑定邮箱和手机立即绑定

SpringBoot:绕过OncePerRequestFilter 过滤器

SpringBoot:绕过OncePerRequestFilter 过滤器

慕姐8265434 2021-09-26 16:58:05
我有一个基本的 SpringBoot 2.0.5.RELEASE 应用程序。使用 Spring Initializer、JPA、嵌入式 Tomcat、Thymeleaf 模板引擎,并打包为可执行 JAR 文件。我创建了一个基于自定义 JWT 的安全过滤器 JwtFilter :@Providerpublic class JwtAuthorizationTokenFilter extends OncePerRequestFilter {...}但我想绕过这个过滤器仅1个特定请求/法: "/api/v1/menus"当是POST但我不知道是否可以在WebSecurityConfigurerAdapter: JwtAuthorizationTokenFilter authenticationTokenFilter = new JwtAuthorizationTokenFilter(userDetailsService(), jwtTokenUtil, tokenHeader);     httpSecurity         .addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)          .antMatcher("/api/v1/menus")
查看完整描述

1 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

您可以shouldNotFilter从 OncePerRequestFilter覆盖该方法,如下所示:


@Provider

public class JwtAuthorizationTokenFilter extends OncePerRequestFilter {

    @Override

    protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException {

        return new AntPathMatcher().match("/api/v1/menus", request.getServletPath());

    }


}


查看完整回答
反对 回复 2021-09-26
  • 1 回答
  • 0 关注
  • 834 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信