gpt4 book ai didi

java - 如何忽略公共(public)资源(.js .css 文件)的 Servlet 过滤器

转载 作者:行者123 更新时间:2023-11-30 06:37:26 25 4
gpt4 key购买 nike

我有一个 spring boot 项目,其安全配置中有一个 JWT Filter 。基本上,此过滤器从请求中提取 jwt token 并将主体添加到 SecurityContext。

我在文件夹 src/main/resources/static 中还有静态文件 (.css/.js/.ttf ...),因此我可以访问未经身份验证的文件。

它工作得很好,但在提供这些文件之前,它会执行 jwt 过滤器,这是无用的,因为我不需要为这些请求提取 jwt token 。多花几毫秒是没有意义的。

我想忽略静态资源的 jwt 过滤器。

我最终得到了这个解决方案:覆盖 Spring Security 配置中的配置方法

@Override
public void configure( WebSecurity web ) throws Exception
{
web.ignoring().antMatchers( "/**/*.js", "/**/*.css" );
}

现在当我请求js文件时,过滤器不再执行。这里的主要问题是列出静态资源(图像/字体/音频...)的所有 Ant 模式

是否有比在配置方法中列出所有静态文件扩展名更好的解决方案来解决此问题?

最佳答案

您可以尝试以下操作:

web.ignoring().antMatchers( "/**/*.*");

关于java - 如何忽略公共(public)资源(.js .css 文件)的 Servlet 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44970048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com