org.alfresco.web.app.servlet
Class WebScriptSSOAuthenticationFilter

java.lang.Object
  extended by org.alfresco.repo.webdav.auth.BaseAuthenticationFilter
      extended by org.alfresco.web.app.servlet.WebScriptSSOAuthenticationFilter
All Implemented Interfaces:
org.alfresco.repo.management.subsystems.ActivateableBean, org.alfresco.repo.web.filter.beans.DependencyInjectedFilter

public class WebScriptSSOAuthenticationFilter
extends org.alfresco.repo.webdav.auth.BaseAuthenticationFilter
implements org.alfresco.repo.web.filter.beans.DependencyInjectedFilter, org.alfresco.repo.management.subsystems.ActivateableBean

WebScript aware Authentication Filter Class. Takes into account the authentication setting in the descriptor for the webscript before chaining to the downstream authentication filters. If authentication is not required then chains with the NO_AUTH_REQUIRED request attribute set, which should cause any downstream authentication filter to bypass authentication checks. Also directly handles login script calls, allowing Surf to establish a cookie for a manual log in, rather than the usual stateless ticket based logins used in non-SSO mode.


Field Summary
 
Fields inherited from class org.alfresco.repo.webdav.auth.BaseAuthenticationFilter
ARG_TICKET, AUTHENTICATION_USER, authenticationComponent, authenticationService, NO_AUTH_REQUIRED, nodeService, personService, remoteUserMapper, transactionService
 
Constructor Summary
WebScriptSSOAuthenticationFilter()
           
 
Method Summary
protected  org.alfresco.repo.SessionUser createUserObject(java.lang.String userName, java.lang.String ticket, org.alfresco.service.cmr.repository.NodeRef personNode, org.alfresco.service.cmr.repository.NodeRef homeSpaceRef)
           
 void doFilter(javax.servlet.ServletContext context, javax.servlet.ServletRequest sreq, javax.servlet.ServletResponse sresp, javax.servlet.FilterChain chain)
           
protected  org.apache.commons.logging.Log getLogger()
           
 boolean isActive()
           
 void setActive(boolean active)
          Activates or deactivates the bean
 void setContainer(org.springframework.extensions.webscripts.RuntimeContainer container)
           
 
Methods inherited from class org.alfresco.repo.webdav.auth.BaseAuthenticationFilter
createUserEnvironment, createUserEnvironment, doInSystemTransaction, getSessionUser, getUserAttributeName, handleLoginForm, invalidateSession, setAuthenticationComponent, setAuthenticationService, setNodeService, setPersonService, setRemoteUserMapper, setTransactionService, setUserAttributeName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebScriptSSOAuthenticationFilter

public WebScriptSSOAuthenticationFilter()
Method Detail

setContainer

public void setContainer(org.springframework.extensions.webscripts.RuntimeContainer container)
Parameters:
container - the container to set

setActive

public final void setActive(boolean active)
Activates or deactivates the bean

Parameters:
active - true if the bean is active and initialization should complete

isActive

public final boolean isActive()
Specified by:
isActive in interface org.alfresco.repo.management.subsystems.ActivateableBean

doFilter

public void doFilter(javax.servlet.ServletContext context,
                     javax.servlet.ServletRequest sreq,
                     javax.servlet.ServletResponse sresp,
                     javax.servlet.FilterChain chain)
              throws java.io.IOException,
                     javax.servlet.ServletException
Specified by:
doFilter in interface org.alfresco.repo.web.filter.beans.DependencyInjectedFilter
Throws:
java.io.IOException
javax.servlet.ServletException

createUserObject

protected org.alfresco.repo.SessionUser createUserObject(java.lang.String userName,
                                                         java.lang.String ticket,
                                                         org.alfresco.service.cmr.repository.NodeRef personNode,
                                                         org.alfresco.service.cmr.repository.NodeRef homeSpaceRef)
Overrides:
createUserObject in class org.alfresco.repo.webdav.auth.BaseAuthenticationFilter

getLogger

protected org.apache.commons.logging.Log getLogger()
Specified by:
getLogger in class org.alfresco.repo.webdav.auth.BaseAuthenticationFilter


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.