atg.userprofiling
Class MultiAccessController

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.userprofiling.MultiAccessController
All Implemented Interfaces:
atg.naming.AbsoluteNameable, NameContextBindingListener, NameContextElement, atg.naming.NameContextParentable, NameResolver, AdminableService, atg.nucleus.Configured, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, AccessController, java.util.EventListener

public class MultiAccessController
extends GenericService
implements AccessController

An access controller that determines access based on a list of secondary controllers. Each controller is queried in order to determine if it allows access. If so, the next controller in the list is checked. If not, we return false immediately. Note that this class currently supports only a single accessDeniedURL, not a separate URL for each secondary controller.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
MultiAccessController()
           
 
Method Summary
 boolean allowAccess(Profile pProfile, DynamoHttpServletRequest pRequest)
          Returns true if a user (represented by the specified Profile) should be allowed access, false if not.
 AccessController[] getControllers()
          Returns an array of controllers that is consulted to determine access.
 java.lang.String getDeniedAccessURL()
          Returns an URL the user should be redirected to if allowAccess returns false.
 java.lang.String getDeniedAccessURL(Profile pProfile)
          Returns an URL the user should be redirected to if allowAccess returns false.
 void setControllers(AccessController[] pControllers)
          An array of controllers that is consulted to determine access.
 void setDeniedAccessURL(java.lang.String pDeniedAccessURL)
          An URL the user should be redirected to if allowAccess returns false
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string

Constructor Detail

MultiAccessController

public MultiAccessController()
Method Detail

setDeniedAccessURL

public void setDeniedAccessURL(java.lang.String pDeniedAccessURL)
An URL the user should be redirected to if allowAccess returns false

Parameters:
pDeniedAccessURL - the URL the user should be redirected to if allowAccess returns false

getDeniedAccessURL

public java.lang.String getDeniedAccessURL()
Returns an URL the user should be redirected to if allowAccess returns false.


setControllers

public void setControllers(AccessController[] pControllers)
An array of controllers that is consulted to determine access.

Parameters:
pControllers - An array of controllers

getControllers

public AccessController[] getControllers()
Returns an array of controllers that is consulted to determine access.


getDeniedAccessURL

public java.lang.String getDeniedAccessURL(Profile pProfile)
Returns an URL the user should be redirected to if allowAccess returns false.

Specified by:
getDeniedAccessURL in interface AccessController

allowAccess

public boolean allowAccess(Profile pProfile,
                           DynamoHttpServletRequest pRequest)
Returns true if a user (represented by the specified Profile) should be allowed access, false if not.

Specified by:
allowAccess in interface AccessController