com.ecyrd.jspwiki.ui
Class SilverpeasWikiServletFilter

java.lang.Object
  extended by com.ecyrd.jspwiki.ui.SilverpeasWikiServletFilter
All Implemented Interfaces:
javax.servlet.Filter
Direct Known Subclasses:
SilverpeasWikiJSPFilter

public class SilverpeasWikiServletFilter
extends Object
implements javax.servlet.Filter

Filter that verifies that the WikiEngine is running, and sets the authentication status for the user's WikiSession. Each HTTP request processed by this filter is wrapped by a WikiRequestWrapper. The wrapper's primary responsibility is to return the correct userPrincipal and remoteUser for authenticated JSPWiki users (whether authenticated by container or by JSPWiki's custom system). The wrapper's other responsibility is to incorporate JSPWiki built-in roles into the role-checking algorithm for HttpServletRequest.isUserInRole(String). Just before the request is wrapped, the method AuthenticationManager.login(HttpServletRequest) executes; this method contains all of the logic needed to grab any user login credentials set by the container or by cookies.

Author:
Andrew Jaquith

Field Summary
protected static org.apache.log4j.Logger log
           
protected  com.ecyrd.jspwiki.WikiEngine m_engine
           
protected static com.stratelia.silverpeas.peasCore.SilverpeasWebUtil webUtil
           
 
Constructor Summary
SilverpeasWikiServletFilter()
          Creates a Wiki Servlet Filter.
 
Method Summary
 void destroy()
          Destroys the WikiServletFilter.
 void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
          Checks that the WikiEngine is running ok, wraps the current HTTP request, and sets the correct authentication state for the users's WikiSession.
protected  com.ecyrd.jspwiki.WikiContext getWikiContext(javax.servlet.ServletRequest request)
          Figures out the wiki context from the request.
 void init(javax.servlet.FilterConfig config)
          Initializes the WikiServletFilter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static final org.apache.log4j.Logger log

m_engine

protected com.ecyrd.jspwiki.WikiEngine m_engine

webUtil

protected static com.stratelia.silverpeas.peasCore.SilverpeasWebUtil webUtil
Constructor Detail

SilverpeasWikiServletFilter

public SilverpeasWikiServletFilter()
Creates a Wiki Servlet Filter.

Method Detail

init

public void init(javax.servlet.FilterConfig config)
          throws javax.servlet.ServletException
Initializes the WikiServletFilter.

Specified by:
init in interface javax.servlet.Filter
Parameters:
config - The FilterConfig.
Throws:
javax.servlet.ServletException - If a WikiEngine cannot be started.

destroy

public void destroy()
Destroys the WikiServletFilter.

Specified by:
destroy in interface javax.servlet.Filter

doFilter

public void doFilter(javax.servlet.ServletRequest request,
                     javax.servlet.ServletResponse response,
                     javax.servlet.FilterChain chain)
              throws IOException,
                     javax.servlet.ServletException
Checks that the WikiEngine is running ok, wraps the current HTTP request, and sets the correct authentication state for the users's WikiSession. First, the method AuthenticationManager.login(HttpServletRequest) executes, which sets the authentication state. Then, the request is wrapped with a WikiRequestWrapper.

Specified by:
doFilter in interface javax.servlet.Filter
Parameters:
request - the current HTTP request object
response - the current HTTP response object
chain - The Filter chain passed down.
Throws:
javax.servlet.ServletException - if AuthenticationManager.login(HttpServletRequest) fails for any reason
IOException - If writing to the servlet response fails.

getWikiContext

protected com.ecyrd.jspwiki.WikiContext getWikiContext(javax.servlet.ServletRequest request)
Figures out the wiki context from the request. This method does not create the context if it does not exist.

Parameters:
request - The request to examine
Returns:
A valid WikiContext value (or null, if the context could not be located).


Copyright © 2016 Silverpeas. All Rights Reserved.