我有一个Spring Boot Web应用程序,我想提供位于Linode VPS上共享的Dropbox目录中的静态内容(〜/ Dropbox /
images)。我读过Spring Boot将自动从
"classpath:/META-INF/resources/",
"classpath:/resources/",
"classpath:/static/",
"classpath:/public/",
但是我的Dropbox目录当然不在classpath上。
尽管可以将Apache配置为在Dropbox文件夹中提供图像,但我想利用Spring Security将静态内容的访问限制为经过身份验证的用户。
您可以添加自己的静态资源处理程序(它将覆盖默认值),例如
@Configuration
public class StaticResourceConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("file:/path/to/my/dropbox/");
}
}
在Spring Boot中有一些与此有关的文档,但这实际上只是一个普通的Spring MVC功能。
另外,从Spring Boot 1.2(我认为)开始,您可以简单地进行设置spring.resources.staticLocations
。