org.acegisecurity.ui.logout
Class LogoutFilter

java.lang.Object
  extended by org.acegisecurity.ui.logout.LogoutFilter
All Implemented Interfaces:
javax.servlet.Filter

public class LogoutFilter
extends Object
implements javax.servlet.Filter

Logs a principal out.

Polls a series of LogoutHandlers. The handlers should be specified in the order they are required. Generally you will want to call logout handlers TokenBasedRememberMeServices and SecurityContextLogoutHandler (in that order).

After logout, the URL specified by logoutSuccessUrl will be shown.

Do not use this class directly. Instead configure web.xml to use the FilterToBeanProxy.

Version:
$Id: LogoutFilter.java 1967 2007-08-28 11:37:05Z luke_t $
Author:
Ben Alex

Constructor Summary
LogoutFilter(String logoutSuccessUrl, LogoutHandler[] handlers)
           
 
Method Summary
 void destroy()
          Not used.
 void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
           
protected  String getFilterProcessesUrl()
           
 void init(javax.servlet.FilterConfig arg0)
          Not used.
protected  boolean requiresLogout(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Allow subclasses to modify when a logout should take place.
protected  void sendRedirect(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String url)
          Allow subclasses to modify the redirection message.
 void setFilterProcessesUrl(String filterProcessesUrl)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LogoutFilter

public LogoutFilter(String logoutSuccessUrl,
                    LogoutHandler[] handlers)
Method Detail

destroy

public void destroy()
Not used. Use IoC container lifecycle methods instead.

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
Specified by:
doFilter in interface javax.servlet.Filter
Throws:
IOException
javax.servlet.ServletException

init

public void init(javax.servlet.FilterConfig arg0)
          throws javax.servlet.ServletException
Not used. Use IoC container lifecycle methods instead.

Specified by:
init in interface javax.servlet.Filter
Parameters:
arg0 - ignored
Throws:
javax.servlet.ServletException - ignored

requiresLogout

protected boolean requiresLogout(javax.servlet.http.HttpServletRequest request,
                                 javax.servlet.http.HttpServletResponse response)
Allow subclasses to modify when a logout should take place.

Parameters:
request - the request
response - the response
Returns:
true if logout should occur, false otherwise

sendRedirect

protected void sendRedirect(javax.servlet.http.HttpServletRequest request,
                            javax.servlet.http.HttpServletResponse response,
                            String url)
                     throws IOException
Allow subclasses to modify the redirection message.

Parameters:
request - the request
response - the response
url - the URL to redirect to
Throws:
IOException - in the event of any failure

setFilterProcessesUrl

public void setFilterProcessesUrl(String filterProcessesUrl)

getFilterProcessesUrl

protected String getFilterProcessesUrl()


Copyright © 2004-2009 Interface21, Inc. All Rights Reserved.