Class SAMLLogoutFilter
java.lang.Object
org.springframework.web.filter.GenericFilterBean
org.springframework.security.web.authentication.logout.LogoutFilter
de.hybris.platform.samlsinglesignon.security.SAMLLogoutFilter
- All Implemented Interfaces:
javax.servlet.Filter,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,org.springframework.context.EnvironmentAware,org.springframework.core.env.EnvironmentCapable,org.springframework.web.context.ServletContextAware
public class SAMLLogoutFilter
extends org.springframework.security.web.authentication.logout.LogoutFilter
Logout filter leveraging Saml2RelyingPartyInitiatedLogoutSuccessHandler. Upon invocation of the filter URL it is
determined whether Single Logout (termination of all participating sessions) or local (termination of only
session running within Spring Security) logout is requested based on request attribute.
In case Single Logout is in question a LogoutRequest is sent to the IDP.
-
Field Summary
Fields inherited from class org.springframework.web.filter.GenericFilterBean
logger -
Constructor Summary
ConstructorsConstructorDescriptionSAMLLogoutFilter(org.springframework.security.web.authentication.logout.LogoutSuccessHandler singleLogoutSuccessHandler, org.springframework.security.web.authentication.logout.LogoutSuccessHandler localLogoutSuccessHandler, org.springframework.security.web.authentication.logout.LogoutHandler[] singleLogoutHandlers, org.springframework.security.web.authentication.logout.LogoutHandler[] localLogoutHandlers) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoiddoFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) voiddoSamlLogoutFilter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain) In case request parameter of name "local" is set to true also when is not provided or there is no authenticated user only local logout will be performed and user will be redirected to the success page.protected org.springframework.security.core.Authenticationprotected booleanisSaml2Authentication(org.springframework.security.core.Authentication auth) Methods inherited from class org.springframework.security.web.authentication.logout.LogoutFilter
requiresLogout, setFilterProcessesUrl, setLogoutRequestMatcherMethods inherited from class org.springframework.web.filter.GenericFilterBean
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
-
Constructor Details
-
SAMLLogoutFilter
public SAMLLogoutFilter(org.springframework.security.web.authentication.logout.LogoutSuccessHandler singleLogoutSuccessHandler, org.springframework.security.web.authentication.logout.LogoutSuccessHandler localLogoutSuccessHandler, org.springframework.security.web.authentication.logout.LogoutHandler[] singleLogoutHandlers, org.springframework.security.web.authentication.logout.LogoutHandler[] localLogoutHandlers) Default constructor.- Parameters:
singleLogoutSuccessHandler- handler to invoke upon successful Single LogoutlocalLogoutSuccessHandler- handler to invoke upon successful local logoutsingleLogoutHandlers- handlers to be invoked when Single Logout is selectedlocalLogoutHandlers- handlers to be invoked when local logout is selected
-
-
Method Details
-
doFilter
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException - Specified by:
doFilterin interfacejavax.servlet.Filter- Overrides:
doFilterin classorg.springframework.security.web.authentication.logout.LogoutFilter- Throws:
IOExceptionjavax.servlet.ServletException
-
doSamlLogoutFilter
public void doSamlLogoutFilter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain) throws javax.servlet.ServletException, IOException In case request parameter of name "local" is set to true also when is not provided or there is no authenticated user only local logout will be performed and user will be redirected to the success page. Otherwise, Single Logout procedure is initialized.- Parameters:
request- http requestresponse- http responsechain- chain- Throws:
IOException- errorjavax.servlet.ServletException- error
-
getAuthentication
protected org.springframework.security.core.Authentication getAuthentication() -
isSaml2Authentication
protected boolean isSaml2Authentication(org.springframework.security.core.Authentication auth)
-