在JSF 2.2之前,javascript,css和复合组件等资源将放置在/resources
文件夹中的Web存档的根目录中。 WEB-INF中的安全约束将伴随此设置阻止直接访问:
<security-constraint>
<display-name>Restrict direct access to JSF resources</display-name>
<web-resource-collection>
<web-resource-name>JSF resources</web-resource-name>
<url-pattern>/resources/*</url-pattern>
</web-resource-collection>
<auth-constraint />
</security-constraint>
但是,在JSF 2.2中,您只需将resources文件夹放在WEB-INF:/WEB-INF/resources
中即可。这为资源提供了直接访问的隐式保护。
WEB-INF
和Tomcat documentation将其描述为存储配置文件的文件夹。将{1}}中的非配置资源放入WEB-INF
只是为了获得对WEB-INF
目录的保护似乎是一种破解。
两种存储资源的方法效果是否相同?这两种方法都有任何具体的缺点吗?
答案 0 :(得分:0)
您可以安全地将资源放在WEB-INF下,这样可以避免忘记保护它免受直接访问的错误,仅此而已!如果你想保持根保护,效果会是一样的。