Interface CDOOperationAuthorizer

All Superinterfaces:
Comparable<org.eclipse.net4j.util.container.ContainerElementList.Prioritized>, org.eclipse.net4j.util.container.ContainerElementList.Prioritized
All Known Implementing Classes:
LMOperationAuthorizer, ReviewsOperationAuthorizer

public interface CDOOperationAuthorizer extends org.eclipse.net4j.util.container.ContainerElementList.Prioritized
An operation authorizer for CDO sessions.

Implementations must register a factory with the container of the session that is supposed to authorize operations, e.g.:

 <simpleFactory
    productGroup="org.eclipse.emf.cdo.operationAuthorizers"
    type="test"
    productClass="x.y.z.TestOperationAuthorizer"/>
 
Since:
4.28
Author:
Eike Stepper
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Object
     
    static final String
     
    static final Object
     
    static final String
     
  • Method Summary

    Modifier and Type
    Method
    Description
    authorizeOperation(CDOSession session, Supplier<org.eclipse.net4j.util.collection.Entity> userInfoSupplier, org.eclipse.net4j.util.security.operations.AuthorizableOperation operation)
    Authorizes the given operation in the context of the given session.
    default int
     

    Methods inherited from interface org.eclipse.net4j.util.container.ContainerElementList.Prioritized

    compareTo
  • Field Details

  • Method Details

    • getPriority

      default int getPriority()
      Specified by:
      getPriority in interface org.eclipse.net4j.util.container.ContainerElementList.Prioritized
    • authorizeOperation

      Object authorizeOperation(CDOSession session, Supplier<org.eclipse.net4j.util.collection.Entity> userInfoSupplier, org.eclipse.net4j.util.security.operations.AuthorizableOperation operation)
      Authorizes the given operation in the context of the given session.
      Returns:
      One of the following values:
      • The special value ABSTAINED (or null) to indicate that this authorizer abstained from voting.
      • The special value GRANTED to indicate that authorization is granted.
      • Any non-null String value to indicate that authorization is vetoed. The String value represents the reason for the veto.
      • An authorizable operation to indicate that the repository shall be asked to authorize the returned operation on behalf of the operation that is passed to this method. The returned operation can be identical to the passed operation, have different parameters than the passed operation, or an entirely different operation. Care should be taken to ask for repository authorization of operations with complex parameter types, as Object serialization is used to send the parameters to the repository. For example, a CDOID should be preferred over an entire CDOObject.
      See Also:
      • AuthorizableOperation.stripParameters()