Security 如何不允许Facelets源通过URL在浏览器中显示
在my web.xml中,我有: 我得到了一些页面,它们存储在我的{project}/webapp/view/文件夹中 比如:localhost/mybodule/view/index.xhtmlSecurity 如何不允许Facelets源通过URL在浏览器中显示,security,jsf,servlets,facelets,Security,Jsf,Servlets,Facelets,在my web.xml中,我有: 我得到了一些页面,它们存储在我的{project}/webapp/view/文件夹中 比如:localhost/mybodule/view/index.xhtml 并且能够查看所有facelets源。如何将其改为404错误?因为我的问题与JSF和404错误抛出有关 我想出了一个答案: 将设置添加到web.xml: <context-param> <param-name>facelets.RESOURCE_RESOLVER</para
并且能够查看所有facelets源。如何将其改为404错误?因为我的问题与JSF和404错误抛出有关 我想出了一个答案: 将设置添加到web.xml:
<context-param>
<param-name>facelets.RESOURCE_RESOLVER</param-name>
<param-value>our.company.CustomResourceResolver</param-value>
</context-param>
这里我们假设所有页面都位于/WEB-INF/pages文件夹中
因此,每当异常发生时,它都会被解释为404
而且:我们应该从web.xml中删除-如果我们想向用户显示他没有访问特定资源的权限,那么这个家伙很好,但在我们的例子中,我们不想显示这一点。我们根本不想让他看到这个资源存在的事实。似乎我发现复制将检查:也相关:此:帮助。这是很重要的一点
<context-param>
<param-name>facelets.RESOURCE_RESOLVER</param-name>
<param-value>our.company.CustomResourceResolver</param-value>
</context-param>
@Override
public URL resolveUrl(String path) {
try {
String fixedPath = "/WEB-INF/pages";
return getResolvedPath(path, fixedPath);
} catch(IOException e) {
throw new FacesException(e);
}
}