Package org.apache.wiki.ui
Class WikiServletFilter
- java.lang.Object
-
- org.apache.wiki.ui.WikiServletFilter
-
- All Implemented Interfaces:
javax.servlet.Filter
- Direct Known Subclasses:
WikiJSPFilter
public class WikiServletFilter extends java.lang.Object implements javax.servlet.Filter
Filter that verifies that theEngine
is running, and sets the authentication status for the user's Session. Each HTTP request processed by this filter is wrapped by aWikiRequestWrapper
. The wrapper's primary responsibility is to return the correctuserPrincipal
andremoteUser
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 forHttpServletRequest.isUserInRole(String)
. Just before the request is wrapped, the methodAuthenticationManager.login(HttpServletRequest)
executes; this method contains all of the logic needed to grab any user login credentials set by the container or by cookies.
-
-
Constructor Summary
Constructors Constructor Description WikiServletFilter()
Creates a Wiki Servlet Filter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
Destroys the WikiServletFilter.void
doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
Checks that the Engine is running ok, wraps the current HTTP request, and sets the correct authentication state for the users's Session.protected WikiContext
getWikiContext(javax.servlet.ServletRequest request)
Figures out the wiki context from the request.void
init(javax.servlet.FilterConfig config)
Initializes the WikiServletFilter.
-
-
-
Constructor Detail
-
WikiServletFilter
public WikiServletFilter()
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 interfacejavax.servlet.Filter
- Parameters:
config
- The FilterConfig.- Throws:
javax.servlet.ServletException
- If a Engine cannot be started.
-
destroy
public void destroy()
Destroys the WikiServletFilter.- Specified by:
destroy
in interfacejavax.servlet.Filter
-
doFilter
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
Checks that the Engine is running ok, wraps the current HTTP request, and sets the correct authentication state for the users's Session. First, the methodAuthenticationManager.login(HttpServletRequest)
executes, which sets the authentication state. Then, the request is wrapped with aWikiRequestWrapper
.- Specified by:
doFilter
in interfacejavax.servlet.Filter
- Parameters:
request
- the current HTTP request objectresponse
- the current HTTP response objectchain
- The Filter chain passed down.- Throws:
javax.servlet.ServletException
- ifAuthenticationManager.login(HttpServletRequest)
fails for any reasonjava.io.IOException
- If writing to the servlet response fails.
-
getWikiContext
protected 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).
-
-