我有一个文件(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>