Class AbstractDmsPolicyProcessor

java.lang.Object
ch.tocco.nice2.dms.spi.security.policyprocessor.AbstractDmsPolicyProcessor
All Implemented Interfaces:
PolicyProcessor
Direct Known Subclasses:
FolderReadPermissionForNonAnonymous, PageReadPermissionForNonAnonymous, PageReadPermissionForRedactor, ResourceReadPermissionForNonAnonymous

public abstract class AbstractDmsPolicyProcessor extends Object implements PolicyProcessor
Abstract PolicyProcessor implementation for policy processors based on the Node_permission matrix for CMS/DMS entities.
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • processPolicy

      public final void processPolicy(PolicyBuilder policy, Object target)
      Description copied from interface: PolicyProcessor
      Post-process the given policy. On phase `LOGIN`, the `target` is the principal being logged in, on phase `GUARD`, it's the object being guarded. On phase `LOGIN` the `policy` is the entire policy containing all rules that affect the current user, on phase `GUARD` the policy only contains the rules that are relevant to the guarded objects (the entire policy, if needed, can be retrieved from the SecurityContext).
      Specified by:
      processPolicy in interface PolicyProcessor
    • prependRule

      protected void prependRule(PolicyBuilder policy, EntityModel entityModel, AccessPermission permission, Node condition, boolean negative)
    • getEntityModel

      protected EntityModel getEntityModel()
    • isSupported

      protected abstract boolean isSupported(Principal principal)
    • getNodePermissionName

      protected abstract String getNodePermissionName()
    • getAdditionalCondition

      @Nullable protected abstract @Nullable Node getAdditionalCondition(EntityModel entityModel)