Class AbstractPlatformSecurityService

java.lang.Object
com.flowable.platform.security.service.AbstractPlatformSecurityService
All Implemented Interfaces:
PermissionServiceRegistryAware, org.springframework.beans.factory.Aware
Direct Known Subclasses:
CasePermissionServiceImpl, ExternalWorkerJobPermissionService, PlatformAppService, PlatformCaseDefinitionService, PlatformCaseInstanceService, PlatformCasePageService, PlatformCommentService, PlatformContentItemService, PlatformFolderItemService, PlatformProcessDefinitionService, PlatformProcessInstanceService, PlatformTaskService, ProcessPermissionServiceImpl, TaskPermissionServiceImpl, WorkDefinitionService, WorkIndexService

public abstract class AbstractPlatformSecurityService
extends java.lang.Object
implements PermissionServiceRegistryAware
  • Field Details

  • Constructor Details

  • Method Details

    • fetchCasePermissionMappings

      protected java.util.List<java.lang.String> fetchCasePermissionMappings​(org.flowable.cmmn.api.runtime.CaseInstance caseInstance, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks)
    • fetchCasePermissionMappings

      protected java.util.List<java.lang.String> fetchCasePermissionMappings​(java.lang.String caseInstanceId, java.lang.String startUserId, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, org.flowable.cmmn.api.repository.CaseDefinition caseDefinition, java.lang.String tenantId)
    • fetchCaseSecurityPolicyModel

      protected SecurityPolicyModel fetchCaseSecurityPolicyModel​(org.flowable.cmmn.api.repository.CaseDefinition caseDefinition, java.lang.String tenantId)
    • fetchProcessPermissionMappings

      protected java.util.List<java.lang.String> fetchProcessPermissionMappings​(org.flowable.engine.runtime.ProcessInstance processInstance, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks)
    • fetchProcessPermissionMappings

      protected java.util.List<java.lang.String> fetchProcessPermissionMappings​(java.lang.String processInstanceId, java.lang.String startUserId, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, org.flowable.engine.repository.ProcessDefinition processDefinition, java.lang.String tenantId)
    • fetchProcessSecurityPolicyModel

      protected SecurityPolicyModel fetchProcessSecurityPolicyModel​(org.flowable.engine.repository.ProcessDefinition processDefinition, java.lang.String tenantId)
    • fetchTaskPermissionMappingsForProcess

      protected java.util.List<java.lang.String> fetchTaskPermissionMappingsForProcess​(java.lang.String taskDefinitionKey, java.lang.String processDefinitionId, java.lang.String assignee, java.lang.String owner, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, java.lang.String tenantId)
    • fetchTaskPermissionMappingsForCase

      protected java.util.List<java.lang.String> fetchTaskPermissionMappingsForCase​(java.lang.String taskDefinitionKey, java.lang.String caseDefinitionId, java.lang.String assignee, java.lang.String owner, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, java.lang.String tenantId)
    • fetchTaskSecurityPolicyModelForProcess

      protected SecurityPolicyModel fetchTaskSecurityPolicyModelForProcess​(java.lang.String taskDefinitionKey, java.lang.String processDefinitionId, java.lang.String tenantId)
    • fetchSecurityPolicyModelForProcessInstance

      protected SecurityPolicyModel fetchSecurityPolicyModelForProcessInstance​(java.lang.String processInstanceId)
    • fetchTaskSecurityPolicyModelForCase

      protected SecurityPolicyModel fetchTaskSecurityPolicyModelForCase​(java.lang.String taskDefinitionKey, java.lang.String caseDefinitionId, java.lang.String tenantId)
    • fetchSecurityPolicyModelForCaseInstance

      protected SecurityPolicyModel fetchSecurityPolicyModelForCaseInstance​(java.lang.String caseInstanceId)
    • fetchTaskPermissionMappings

      protected java.util.List<java.lang.String> fetchTaskPermissionMappings​(org.flowable.task.api.Task task, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks)
    • fetchTaskPermissionMappings

      protected java.util.List<java.lang.String> fetchTaskPermissionMappings​(java.lang.String taskId, java.lang.String taskDefinitionKey, java.lang.String assignee, java.lang.String owner, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, org.flowable.engine.repository.ProcessDefinition processDefinition, java.lang.String tenantId)
    • fetchTaskPermissionMappings

      protected java.util.List<java.lang.String> fetchTaskPermissionMappings​(java.lang.String taskId, java.lang.String taskDefinitionKey, java.lang.String assignee, java.lang.String owner, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, org.flowable.cmmn.api.repository.CaseDefinition caseDefinition, java.lang.String tenantId)
    • fetchPermissions

      protected java.util.List<java.lang.String> fetchPermissions​(SecurityPolicyModel securityPolicyModel, java.lang.String prefix, java.lang.String startUserId, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, java.lang.String userId, java.util.Set<java.lang.String> groupKeys)
    • fetchPermissionsForTask

      protected java.util.List<java.lang.String> fetchPermissionsForTask​(SecurityPolicyModel securityPolicyModel, java.lang.String assignee, java.lang.String owner, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, java.lang.String userId, java.util.Set<java.lang.String> groupKeys)
    • hasAssigneeOrOwnerIdentityLink

      protected boolean hasAssigneeOrOwnerIdentityLink​(java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks)
    • filterPermissionsForRole

      protected java.util.List<java.lang.String> filterPermissionsForRole​(java.lang.String role, java.lang.String prefix, SecurityPolicyModel securityPolicyModel)
    • fetchSecurityPolicyModel

      protected SecurityPolicyModel fetchSecurityPolicyModel​(org.flowable.cmmn.model.Case caze, java.lang.String tenantId)
    • fetchSecurityPolicyModel

      protected SecurityPolicyModel fetchSecurityPolicyModel​(org.flowable.bpmn.model.Process process, java.lang.String tenantId)
    • fetchSecurityPolicyModelForTask

      protected SecurityPolicyModel fetchSecurityPolicyModelForTask​(org.flowable.bpmn.model.FlowElement flowElement, org.flowable.bpmn.model.Process process, java.lang.String tenantId)
    • fetchSecurityPolicyModelForTask

      protected SecurityPolicyModel fetchSecurityPolicyModelForTask​(org.flowable.cmmn.model.PlanItemDefinition planItemDefinition, org.flowable.cmmn.model.Case caze, java.lang.String tenantId)
    • getCurrentGroupKeys

      protected java.util.Set<java.lang.String> getCurrentGroupKeys()
    • getCurrentUserId

      protected java.lang.String getCurrentUserId()
    • getCurrentTenantId

      protected java.lang.String getCurrentTenantId()
    • currentUserHasAdminRights

      protected boolean currentUserHasAdminRights()
    • currentUserIsSuperAdmin

      protected boolean currentUserIsSuperAdmin()
    • groupOrUserMatches

      protected boolean groupOrUserMatches​(org.flowable.identitylink.api.IdentityLinkInfo identityLink, java.lang.String userId, java.util.Set<java.lang.String> groupKeys)
    • groupOrUserMatches

      protected boolean groupOrUserMatches​(java.lang.String identityLinkUser, java.lang.String identityLinkGroup, java.lang.String userId, java.util.Set<java.lang.String> groupKeys)
    • hasAnyMatchingIdentityLink

      protected boolean hasAnyMatchingIdentityLink​(java.util.Collection<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, java.lang.String userId, java.util.Set<java.lang.String> groupKeys)
    • hasPermissionForEntityLinks

      protected boolean hasPermissionForEntityLinks​(java.lang.String permission, java.util.List<org.flowable.entitylink.api.EntityLink> entityLinks, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
    • hasPermissionForHistoricEntityLinks

      protected boolean hasPermissionForHistoricEntityLinks​(java.lang.String permission, java.util.List<org.flowable.entitylink.api.history.HistoricEntityLink> entityLinks, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
    • setPermissionServiceRegistry

      public void setPermissionServiceRegistry​(PermissionServiceRegistry permissionServiceRegistry)
      Description copied from interface: PermissionServiceRegistryAware
      Set the PermissionRegistry that this object should use.
      Specified by:
      setPermissionServiceRegistry in interface PermissionServiceRegistryAware
      Parameters:
      permissionServiceRegistry - to be used by this object
    • getSecurityPolicyModelByKey

      protected SecurityPolicyModel getSecurityPolicyModelByKey​(java.lang.String securityPolicyModelKey, java.lang.String tenantId)
    • getDefaultSecurityPolicyModel

      protected SecurityPolicyModel getDefaultSecurityPolicyModel​(java.lang.String tenantId)
    • getCmmnExtensionElementValue

      protected java.lang.String getCmmnExtensionElementValue​(java.lang.String name, java.util.Map<java.lang.String,​java.util.List<org.flowable.cmmn.model.ExtensionElement>> extensionElements)
    • getExtensionElementValue

      protected java.lang.String getExtensionElementValue​(java.lang.String name, java.util.Map<java.lang.String,​java.util.List<org.flowable.bpmn.model.ExtensionElement>> extensionElements)
    • translatePermissionForScope

      protected java.lang.String translatePermissionForScope​(java.lang.String permission, java.lang.String scopeType)