Class CDDefinitionProtection

java.lang.Object
org.alfresco.repo.node.CDDefinitionProtection
All Implemented Interfaces:
NodeServicePolicies.BeforeCreateNodePolicy, NodeServicePolicies.BeforeDeleteNodePolicy, NodeServicePolicies.BeforeMoveNodePolicy, NodeServicePolicies.BeforeSetNodeTypePolicy, NodeServicePolicies.BeforeUpdateNodePolicy, ClassPolicy, Policy

Behaviour bean that protects the Cascading Dictionary type (cd:definition) from being created, updated, deleted, moved via the everyday Alfresco APIs (Node REST API, CMIS, WebDAV, scripts, …).

The goal is to catch accidental misuse, not to be a hardened sandbox. Power-user attacks via lower-level APIs are intentionally out of scope — they're not what a normal user does by mistake.

The CD subsystem opts out of these checks by surrounding its legitimate writes with behaviourFilter.disableBehaviour(ContentModel.TYPE_CD_DEFINITION), which silences the cd:definition-bound bindings.