[Ajax4JSF] jsf登录过滤器的问题,请教!!

ZYWL 2011-08-29
我先描述一下,我的项目上有登录过滤器,如没有登录,直接返回登录页面,现有需求,做一个不需要登录的查询页面,能直接访问,请问怎么整一下。是修改web.xml吗?
还有就是我现在web.xml,我不清楚哪项配置,控制了登录拦截,,请指教。 现在的web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>TransWebApp</display-name>
<context-param>
  <description>加载相关配置文件</description>
  <param-name>javax.faces.CONFIG_FILES</param-name>
  <param-value>
   /WEB-INF/config-bean.xml,/WEB-INF/config-navigation.xml
  </param-value>
</context-param>
<context-param>
  <param-name>com.sun.faces.validateXml</param-name>
  <param-value>true</param-value>
</context-param>
<context-param>
  <param-name>com.sun.faces.verifyObjects</param-name>
  <param-value>false</param-value>
</context-param>
<context-param>
  <param-name>org.ajax4jsf.SKIN</param-name>
  <param-value>#{skin.skinType}</param-value>
</context-param>
<context-param>
  <param-name>org.richfaces.CONTROL_SKINNING</param-name>
  <param-value>enable</param-value>
</context-param>
<context-param>
  <param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
  <param-value>true</param-value>
</context-param>
<context-param>
  <param-name>org.richfaces.LoadStyleStrategy</param-name>
  <param-value>all</param-value>
</context-param>
<context-param>
  <param-name>org.richfaces.LoadScriptStrategy</param-name>
  <param-value>all</param-value>
</context-param>
<context-param>
  <param-name>facelets.DEVELOPMENT</param-name>
  <param-value>true</param-value>
</context-param>
<context-param>
  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  <param-value>.xhtml</param-value>
</context-param>
<filter>
  <display-name>RichFaces Filter</display-name>
  <filter-name>richfaces</filter-name>
  <filter-class>org.ajax4jsf.Filter</filter-class>
  <init-param>
   <param-name>forceparser</param-name>
   <param-value>false</param-value>
  </init-param>
  <init-param>
   <param-name>createTempFiles</param-name>
   <param-value>false</param-value>
  </init-param>
  <init-param>
   <param-name>maxRequestSize</param-name>
   <param-value>1000000</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>richfaces</filter-name>
  <servlet-name>Faces Servlet</servlet-name>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<servlet>
  <servlet-name>DisplayChart</servlet-name>
  <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>DisplayChart</servlet-name>
  <url-pattern>/chartServlet/DisplayChart</url-pattern>
</servlet-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>*.jsf</url-pattern>
</servlet-mapping>
<welcome-file-list>
  <welcome-file>index.html</welcome-file>
</welcome-file-list>
<error-page>
  <exception-type>javax.faces.application.ViewExpiredException</exception-type>
  <location>/index.html</location>
</error-page>
</web-app>
mfkvfn 2011-10-10
要么在web.xml中过滤器filter-mapping中不过滤那个页面。
要么在filter中做特殊处理(遇到那个页面,直接跳过filter)
暗夜骑士0376 2011-10-16
如果你用jsf的话,最好使用phaselistener 进行角色控制。filter不符合jsf的生命周期规范。
Global site tag (gtag.js) - Google Analytics