【发布时间】:2012-05-21 07:05:44
【问题描述】:
我发现了一个想法here,将文件放在/WEB-INF下是一种阻止直接访问的方法:
使用 Facelets,还可以将 XHTML 文件放在 /WEB-INF 下,如果 它们是模板或包含的文件(与 JSP 相同的限制 基本上)。
该页面还提供了一个基于 Java EE 安全性的解决方案,它只允许特定用户组的成员直接访问 XHTML。
<security-constraint>
<display-name>Restrict XHTML Documents</display-name>
<web-resource-collection>
<web-resource-name>XHTML</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>Only let 'developer's access XHTML pages</description>
<role-name>developer</role-name>
</auth-constraint>
</security-constraint>
您会推荐其中一种解决方案,还是两者都常用?
【问题讨论】:
-
在第一种情况下,最终用户将永远无法访问该页面。而在第二种情况下,授权用户将有权访问该页面。他们的目的不同。如果您的 facelets 是模板,则使用第一个,否则使用第二个。