|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.web.filter.GenericFilterBean org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter com.atlassian.crowd.integration.springsecurity.CrowdSSOAuthenticationProcessingFilter
public class CrowdSSOAuthenticationProcessingFilter
The CrowdSSOAuthenticationProcessingFilter is to be used in conjunction with the CrowdAuthenticationProvider to provide SSO authentication. If single sign-on is not required, centralised authentication can still be achieved by using the default AuthenticationProcessingFilter in conjunction with the CrowdAuthenticationProvider.
Field Summary |
---|
Fields inherited from class org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter |
---|
SPRING_SECURITY_FORM_PASSWORD_KEY, SPRING_SECURITY_FORM_USERNAME_KEY, SPRING_SECURITY_LAST_USERNAME_KEY |
Fields inherited from class org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter |
---|
authenticationDetailsSource, eventPublisher, messages, SPRING_SECURITY_LAST_EXCEPTION_KEY |
Fields inherited from class org.springframework.web.filter.GenericFilterBean |
---|
logger |
Constructor Summary | |
---|---|
CrowdSSOAuthenticationProcessingFilter()
|
Method Summary | |
---|---|
protected void |
doSetDetails(javax.servlet.http.HttpServletRequest request,
org.springframework.security.authentication.AbstractAuthenticationToken authRequest)
|
protected boolean |
requiresAuthentication(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
This filter will process all requests, however, if the filterProcessesUrl is part of the request URI, the filter will assume the request is a username/password authentication (login) request and will not check for Crowd SSO authentication. |
protected void |
setDetails(javax.servlet.http.HttpServletRequest request,
org.springframework.security.authentication.UsernamePasswordAuthenticationToken authRequest)
Provided so that subclasses may configure what is put into the authentication request's details property. |
void |
setHttpAuthenticator(HttpAuthenticator httpAuthenticator)
Mandatory dependency. |
void |
setLoginUrlAuthenticationEntryPoint(org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint filterEntryPoint)
Optional dependency, only required if multiple Crowd applications are coexisting in the same web-application. |
void |
setRequestToApplicationMapper(RequestToApplicationMapper requestToApplicationMapper)
Optional dependency. |
protected void |
successfulAuthentication(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
org.springframework.security.core.Authentication authResult)
Attempts to write out the successful SSO token to a cookie, if an SSO token was generated and stored via the AuthenticationProvider. |
protected void |
unsuccessfulAuthentication(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
org.springframework.security.core.AuthenticationException failed)
Attempts to remove any SSO tokens associated with the request, effectively logging the user out of Crowd. |
Methods inherited from class org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter |
---|
attemptAuthentication, getPasswordParameter, getUsernameParameter, obtainPassword, obtainUsername, setPasswordParameter, setPostOnly, setUsernameParameter |
Methods inherited from class org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter |
---|
afterPropertiesSet, doFilter, getAllowSessionCreation, getAuthenticationManager, getFailureHandler, getFilterProcessesUrl, getRememberMeServices, getSuccessHandler, setAllowSessionCreation, setApplicationEventPublisher, setAuthenticationDetailsSource, setAuthenticationFailureHandler, setAuthenticationManager, setAuthenticationSuccessHandler, setContinueChainBeforeSuccessfulAuthentication, setFilterProcessesUrl, setMessageSource, setRememberMeServices, setSessionAuthenticationStrategy, successfulAuthentication |
Methods inherited from class org.springframework.web.filter.GenericFilterBean |
---|
addRequiredProperty, destroy, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public CrowdSSOAuthenticationProcessingFilter()
Method Detail |
---|
protected boolean requiresAuthentication(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
requiresAuthentication
in class org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter
request
- servlet request containing either username/password paramaters
or the Crowd token as a cookie.response
- servlet response to write out cookie.
true
only if the filterProcessesUrl is in the request URI.protected void setDetails(javax.servlet.http.HttpServletRequest request, org.springframework.security.authentication.UsernamePasswordAuthenticationToken authRequest)
setDetails
in class org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter
request
- that an authentication request is being created forauthRequest
- the authentication request object that should have its details setprotected void doSetDetails(javax.servlet.http.HttpServletRequest request, org.springframework.security.authentication.AbstractAuthenticationToken authRequest)
protected void successfulAuthentication(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.springframework.security.core.Authentication authResult) throws IOException, javax.servlet.ServletException
successfulAuthentication
in class org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter
request
- servlet request.response
- servlet response.authResult
- result of a successful authentication. If it is a CrowdSSOAuthenticationToken
then the SSO token will be set to the "credentials" property.
IOException
- not thrown.
javax.servlet.ServletException
protected void unsuccessfulAuthentication(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.springframework.security.core.AuthenticationException failed) throws IOException, javax.servlet.ServletException
unsuccessfulAuthentication
in class org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter
request
- servlet request.response
- servlet response.failed
- not required.
IOException
- not thrown.
javax.servlet.ServletException
public void setHttpAuthenticator(HttpAuthenticator httpAuthenticator)
httpAuthenticator
- used to extract validation factors, set cookies and perform logouts.public void setRequestToApplicationMapper(RequestToApplicationMapper requestToApplicationMapper)
requestToApplicationMapper
- only required if multiple Crowd "applications" need to
be accessed via the same Spring Security context, eg. when one web-application corresponds to
multiple Crowd "applications".public void setLoginUrlAuthenticationEntryPoint(org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint filterEntryPoint)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |