Class CheckAccess

All Implemented Interfaces:
Component, DestructableComponent, InitializableComponent, ProfileAction

public class CheckAccess extends AbstractProfileAction
This action validates that a request comes from an authorized client, based on an injected service and policy parameters.
Event:
EventIds.PROCEED_EVENT_ID, EventIds.ACCESS_DENIED
  • Field Details

  • Constructor Details

    • CheckAccess

      public CheckAccess()
      Constructor.
  • Method Details

    • setAccessControlService

      public void setAccessControlService(@Nonnull AccessControlService acs)
      Set the service to use.
      Parameters:
      acs - service to use
    • setPolicyNameLookupStrategy

      public void setPolicyNameLookupStrategy(@Nonnull Function<ProfileRequestContext,String> strategy)
      Set a lookup strategy to use to obtain the policy name to apply.
      Parameters:
      strategy - lookup strategy
      Since:
      3.3.0
    • setPolicyName

      public void setPolicyName(@Nonnull @NotEmpty String name)
      Set an explicit policy name to apply.
      Parameters:
      name - policy name
    • setOperationLookupStrategy

      public void setOperationLookupStrategy(@Nonnull Function<ProfileRequestContext,String> strategy)
      Set a lookup strategy to use to obtain the operation.
      Parameters:
      strategy - lookup strategy
      Since:
      3.3.0
    • setOperation

      public void setOperation(@Nullable String op)
      Set operation.
      Parameters:
      op - operation
    • setResourceLookupStrategy

      public void setResourceLookupStrategy(@Nonnull Function<ProfileRequestContext,String> strategy)
      Set a lookup strategy to use to obtain the resource.
      Parameters:
      strategy - lookup strategy
      Since:
      3.3.0
    • setResource

      public void setResource(@Nullable String res)
      Set resource.
      Parameters:
      res - resource
    • doInitialize

      protected void doInitialize() throws ComponentInitializationException
      Overrides:
      doInitialize in class AbstractInitializableComponent
      Throws:
      ComponentInitializationException
    • doPreExecute

      public boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
      Called prior to execution, actions may override this method to perform pre-processing for a request.

      If false is returned, execution will not proceed, and the action should attach an EventContext to the context tree to signal how to continue with overall workflow processing.

      If returning successfully, the last step should be to return the result of the superclass version of this method.

      Overrides:
      doPreExecute in class AbstractProfileAction
      Parameters:
      profileRequestContext - the current IdP profile request context
      Returns:
      true iff execution should proceed
    • doExecute

      public void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
      Performs this action. Actions must override this method to perform their work.
      Overrides:
      doExecute in class AbstractProfileAction
      Parameters:
      profileRequestContext - the current IdP profile request context