如何在spring-boot中禁用静态内容句柄?

Lun*_*orn 3 java spring spring-security spring-boot

我正在使用链接配置安全性和spring-boot作为其他的基础.但Spring-boot提供的静态资源处理程序在安全设置之前执行.因此,如果我发送POST请求,静态内容处理程序会回应我不支持POST的方法.如果我请求GET方法,静态响应处理程序捕获它并尝试查找资源.因此,静态内容处理程序捕获的任何请求都不会转到安全筛选器.

如何禁用spring-boot提供的静态内容过滤器/处理程序?

And*_*son 8

您可以通过设置禁用静态资源处理spring.resources.add-mappings=falseapplication.properties.

有了这个,你确定它会解决你的问题吗?Spring Security 在静态资源处理之前作为过滤器运行,我怀疑禁用资源处理会有所帮助.但是,它可能会更容易识别潜在的问题.

  • spring.resources.add-mappings 不会完全禁用资源处理。它的作用是不会自动添加ResourceHandler,但您仍然可以通过WebMvcConfigurerAdapter.addResourceHandlers 手动添加它们。 (3认同)
  • 在较新版本的 spring 上,属性名称是“spring.web.resources.add-mappings” (2认同)