我正在从Web应用程序外部的文件夹提供图像。我将图像存储在C:\ source \ Pictures中。我在Spring的servlet上下文文件中将此资源配置为静态资源:
<resources location="file:///C:/source/Pictures/" mapping="/img_resources/**"/>
我使用
显示存储在该文件夹中的图像<img src="<spring:url value='/img_resources/guinnes_choc_cake.jpg/'/>"></img>
对我来说效果很好。但是,我有安全问题。我不希望将公共服务器中的目录暴露给公众。1
有没有办法在Spring中围绕此文件夹构建安全性?
答案 0 :(得分:7)
如果您使用的是Spring Security,可以在Spring上下文文件中添加类似的内容:
<sec:intercept-url pattern="/img_resources/**" access="isAuthenticated()" />
答案 1 :(得分:1)
没有特别的理由限制对静态资源的访问。
鉴于目录结构定义良好且文件排序是语义的(即img_resources
文件夹仅包含图像),您应该允许访问此类资源,或者甚至完全绕过过滤器以避免通过的过程过滤链,例如:
<sec:intercept-url pattern="/img_resources" filters="none" />
我们不希望Spring处理静态资源 安全的过滤器。为此,您可以添加其他内容
<http>
块仅适用于特定模式。这必须来 在现有块之前,因为它适用于特定模式。如果不 提供了pattern属性,该块适用于任何请求。