在JSF应用程序中筛选单个文件

时间:2014-11-24 10:23:44

标签: jsf servlet-filters

我有一个文件(FileUpload.xhtml)需要防止未经授权的访问。因此,每当有人试图访问FileUpload.xhtml时,他都必须通过过滤器。该文件位于/web/sign/FileUpload.xhtml。还有一些其他文件与FileUpload.xhtml存在于同一目录中,不应该通过此过滤器。我尝试像

这样的网址模式
/web/sign/FileUpload.xhtml
/web/sign/FileUpload.xhtml*
/web/sign/FileUpload*

但他们似乎没有工作。但是url模式:

/web/sign/*

的工作原理。但它还包括FileUpload.xhtml中存在的其他文件,我不想通过此过滤器。怎么解决这个问题?

更清楚。我将检查请求参数以授权页面。如果有人访问该页面

http://localhost:8888/CodesignWebApp/web/sign/FileUpload.xhtml?sign=Driver

我将检查'sign'参数对用户的值,以查看他是否有权使用Driver作为符号值。这是正确的方法吗?

从web.xml过滤条目:

<filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

0 个答案:

没有答案