org.alfresco.repo.security.authentication
Class ChainingAuthenticationServiceImpl

java.lang.Object
  extended by org.alfresco.repo.security.authentication.AbstractAuthenticationService
      extended by org.alfresco.repo.security.authentication.AbstractChainingAuthenticationService
          extended by org.alfresco.repo.security.authentication.ChainingAuthenticationServiceImpl
All Implemented Interfaces:
AuthenticationService, MutableAuthenticationService

public class ChainingAuthenticationServiceImpl
extends AbstractChainingAuthenticationService

This class implements a simple chaining authentication service. It chains together other authentication services so that authentication can happen against more than one authentication service. The authentication services it uses are stored as a list. Each authentication service must belong to the same domain. This is checked at configuration time. Authentication will try each authentication service in order. If any allow authentication given the user name and password then the user will be accepted. Additions, deletions and password changes are made to one special authentication service. This service will be tried first for authentication. Users can not be created if they exist in another authentication service. To avoid transactional issues in chaining, the services registered with this service must not have transactional wrappers. If not, errors will mark the transaction for roll back and we can not chain down the list of authentication services.


Constructor Summary
ChainingAuthenticationServiceImpl()
           
 
Method Summary
 MutableAuthenticationService getMutableAuthenticationService()
          Gets the mutable authentication service.
protected  java.util.List getUsableAuthenticationServices()
          Gets the authentication services across which methods will chain.
 void setAuthenticationServices(java.util.List authenticationServices)
           
 void setMutableAuthenticationService(MutableAuthenticationService mutableAuthenticationService)
           
 
Methods inherited from class org.alfresco.repo.security.authentication.AbstractChainingAuthenticationService
authenticate, authenticateAsGuest, authenticationExists, clearCurrentSecurityContext, countTickets, createAuthentication, deleteAuthentication, getAuthenticationEnabled, getCurrentTicket, getCurrentUserName, getDefaultAdministratorUserNames, getDefaultGuestUserNames, getDomains, getDomainsThatAllowUserCreation, getDomainsThatAllowUserDeletion, getDomiansThatAllowUserPasswordChanges, getNewTicket, getTicketComponents, getUsersWithTickets, guestUserAuthenticationAllowed, invalidateTicket, invalidateTickets, invalidateUserSession, isAuthenticationCreationAllowed, isAuthenticationMutable, isCurrentUserTheSystemUser, setAuthentication, setAuthenticationEnabled, updateAuthentication, validate
 
Methods inherited from class org.alfresco.repo.security.authentication.AbstractAuthenticationService
getAllowedUsers, getMaxUsers, preAuthenticationCheck, setSysAdminParams
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChainingAuthenticationServiceImpl

public ChainingAuthenticationServiceImpl()
Method Detail

setAuthenticationServices

public void setAuthenticationServices(java.util.List authenticationServices)

getMutableAuthenticationService

public MutableAuthenticationService getMutableAuthenticationService()
Description copied from class: AbstractChainingAuthenticationService
Gets the mutable authentication service.

Specified by:
getMutableAuthenticationService in class AbstractChainingAuthenticationService
Returns:
the mutable authentication service

setMutableAuthenticationService

public void setMutableAuthenticationService(MutableAuthenticationService mutableAuthenticationService)

getUsableAuthenticationServices

protected java.util.List getUsableAuthenticationServices()
Description copied from class: AbstractChainingAuthenticationService
Gets the authentication services across which methods will chain.

Specified by:
getUsableAuthenticationServices in class AbstractChainingAuthenticationService
Returns:
the usable authentication services


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