我在安全配置中有一个带有 JWT过滤器的 spring boot 项目。基本上,此过滤器从请求中提取jwt标记,并将Principal添加到SecurityContext。
我在文件夹src/main/resources/static
中也有静态文件(。css / .js / .ttf ...),因此我无需身份验证即可访问这些文件。
它运行完美,但在提供这些文件之前,它会执行无用的jwt过滤器,因为我不需要为这些请求提取jwt标记。无需花费额外的毫秒数。
我想忽略静态资源的jwt过滤器。
我最终得到了这个解决方案:覆盖spring安全配置中的配置方法
@Override
public void configure( WebSecurity web ) throws Exception
{
web.ignoring().antMatchers( "/**/*.js", "/**/*.css" );
}
现在,当我请求js文件时,不再执行过滤器。这里的主要问题是列出静态资源的所有 ant模式(images / fonts / audio ...)。
是否有更好的解决方案来解决此问题,而不是在配置方法中列出所有静态文件扩展名?
答案 0 :(得分:1)
您可以尝试以下内容:
web.ignoring().antMatchers( "/**/*.*" );