我的网站包含两种类型的用户,用户和管理员。我试图访问管理控制页面限制用户,我试图做这样的内部doFilter()
:登录时的用户限制页面
System.out.print("\nNumber of objects constructed:->" + Counter.show() + "\n\n");
String path = req.getRequestURI().substring(req.getContextPath().length());
if (path.startsWith("/faces/xadmin.xhtml") && !JloginDAO.per.equals("admin")) {
res.sendError(HttpServletResponse.SC_UNAUTHORIZED);
}
if (path.startsWith("/faces/calendar.xhtml") && !JloginDAO.per.equals("admin")) {
res.sendError(HttpServletResponse.SC_UNAUTHORIZED);
}
,但它不工作,并且没有错误显示!
的web.xml
<display-name>web2</display-name>
<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>/faces/*</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>DisplayImage</display-name>
<servlet-name>DisplayImage</servlet-name>
<servlet-class>calender.DisplayImage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayImage</servlet-name>
<url-pattern>/DisplayImage</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>PrivateDisplayImage</display-name>
<servlet-name>PrivateDisplayImage</servlet-name>
<servlet-class>displayCalendar.PrivateDisplayImage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PrivateDisplayImage</servlet-name>
<url-pattern>/PrivateDisplayImage</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>PublicDisplayImage</display-name>
<servlet-name>PublicDisplayImage</servlet-name>
<servlet-class>public_display_Calendar.PublicDisplayImage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PublicDisplayImage</servlet-name>
<url-pattern>/PublicDisplayImage</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
<init-param>
<param-name>thresholdSize</param-name>
<param-value>10240</param-value> <!-- 10 Mb -->
</init-param>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
</web-app>
任何想法?
你真的想让'FacesServlet'听这个URL模式'/faces/* url-pattern>'而不是' * .xhtml url-pattern>'吗? –
Tiny
目前在'web.xml'中只有一个'org.primefaces.webapp.filter.FileUploadFilter'过滤器。你是否碰巧使用了一个带有适当URL模式的注释,比如'@WebFilter(filterName =“FilterName”,urlPatterns = {“/ YourPattern *”} ...)'? – Tiny
当我尝试了URL模式' * .xhtml url-pattern>'它给我错误在外部上下文中找不到作为资源 –
Jason