Class AbstractDmsPolicyProcessor
java.lang.Object
ch.tocco.nice2.dms.spi.security.policyprocessor.AbstractDmsPolicyProcessor
- All Implemented Interfaces:
PolicyProcessor
- Direct Known Subclasses:
FolderReadPermissionForNonAnonymous, PageReadPermissionForNonAnonymous, PageReadPermissionForRedactor, ResourceReadPermissionForNonAnonymous
Abstract
PolicyProcessor implementation for policy processors
based on the Node_permission matrix for CMS/DMS entities.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Contextprotected final PermissionMatrixEvaluationServiceprotected final TypeManager -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractDmsPolicyProcessor(Context context, TypeManager typeManager, PermissionMatrixEvaluationService evaluationService, String targetModelName) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract @Nullable NodegetAdditionalCondition(EntityModel entityModel) protected EntityModelprotected abstract Stringprotected abstract booleanisSupported(Principal principal) protected voidprependRule(PolicyBuilder policy, EntityModel entityModel, AccessPermission permission, Node condition, boolean negative) final voidprocessPolicy(PolicyBuilder policy, Object target) Post-process the given policy.
-
Field Details
-
context
-
typeManager
-
evaluationService
-
-
Constructor Details
-
AbstractDmsPolicyProcessor
protected AbstractDmsPolicyProcessor(Context context, TypeManager typeManager, PermissionMatrixEvaluationService evaluationService, String targetModelName)
-
-
Method Details
-
processPolicy
Description copied from interface:PolicyProcessorPost-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 theSecurityContext).- Specified by:
processPolicyin interfacePolicyProcessor
-
prependRule
protected void prependRule(PolicyBuilder policy, EntityModel entityModel, AccessPermission permission, Node condition, boolean negative) -
getEntityModel
-
isSupported
-
getNodePermissionName
-
getAdditionalCondition
-