Class TaskPermissionServiceImpl

java.lang.Object
com.flowable.platform.security.service.AbstractPlatformSecurityService
com.flowable.platform.security.permission.TaskPermissionServiceImpl
All Implemented Interfaces:
PermissionService, PermissionServiceRegistryAware, TaskPermissionService, org.springframework.beans.factory.Aware

@Transactional
public class TaskPermissionServiceImpl
extends AbstractPlatformSecurityService
implements TaskPermissionService
  • Field Details

    • historyService

      @Autowired(required=false) protected org.flowable.engine.HistoryService historyService
    • cmmnHistoryService

      @Autowired(required=false) protected org.flowable.cmmn.api.CmmnHistoryService cmmnHistoryService
    • identityService

      @Autowired(required=false) protected com.flowable.core.idm.api.PlatformIdentityService identityService
  • Constructor Details

  • Method Details

    • getScopeType

      public java.lang.String getScopeType()
      Description copied from interface: PermissionService
      The scope type that this permissions service supports.
      Specified by:
      getScopeType in interface PermissionService
    • hasPermissionForScope

      public boolean hasPermissionForScope​(java.lang.String permission, java.lang.String scopeId, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
      Specified by:
      hasPermissionForScope in interface PermissionService
    • hasPermissionForRuntimeScope

      public boolean hasPermissionForRuntimeScope​(java.lang.String permission, java.lang.String scopeId, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
      Specified by:
      hasPermissionForRuntimeScope in interface PermissionService
    • fetchPermissionsForRuntimeScope

      public java.util.List<java.lang.String> fetchPermissionsForRuntimeScope​(java.lang.String scopeId, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
      Specified by:
      fetchPermissionsForRuntimeScope in interface PermissionService
    • fetchPermissionsForRuntimeScope

      public java.util.List<java.lang.String> fetchPermissionsForRuntimeScope​(java.lang.String scopeId, boolean checkWritePermissionInParent, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
      Specified by:
      fetchPermissionsForRuntimeScope in interface PermissionService
    • hasPermissionForHistoricScope

      public boolean hasPermissionForHistoricScope​(java.lang.String permission, java.lang.String scopeId, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
      Specified by:
      hasPermissionForHistoricScope in interface PermissionService
    • fetchPermissionsForHistoricScope

      public java.util.List<java.lang.String> fetchPermissionsForHistoricScope​(java.lang.String scopeId, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
      Specified by:
      fetchPermissionsForHistoricScope in interface PermissionService
    • fetchPermissionsForHistoricScope

      public java.util.List<java.lang.String> fetchPermissionsForHistoricScope​(java.lang.String scopeId, boolean checkWritePermissionInParent, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
      Specified by:
      fetchPermissionsForHistoricScope in interface PermissionService
    • getRuntimeTaskPermissions

      public java.util.List<java.lang.String> getRuntimeTaskPermissions​(java.lang.String taskId, java.lang.String taskDefinitionKey, java.lang.String instanceId, java.lang.String definitionId, java.lang.String scopeType, java.lang.String assignee, java.lang.String owner, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, java.lang.String tenantId)
      Specified by:
      getRuntimeTaskPermissions in interface TaskPermissionService
    • getHistoricTaskPermissions

      public java.util.List<java.lang.String> getHistoricTaskPermissions​(java.lang.String taskId, java.lang.String taskDefinitionKey, java.lang.String instanceId, java.lang.String definitionId, java.lang.String scopeType, java.lang.String assignee, java.lang.String owner, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, java.lang.String tenantId)
      Specified by:
      getHistoricTaskPermissions in interface TaskPermissionService
    • hasReadPermissionOnScopeDefinition

      public boolean hasReadPermissionOnScopeDefinition​(java.lang.String scopeDefinitionId, java.lang.String scopeDefinitionKey, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
      Specified by:
      hasReadPermissionOnScopeDefinition in interface PermissionService
    • getSecurityPolicyModelForProcessInstance

      public SecurityPolicyModel getSecurityPolicyModelForProcessInstance​(java.lang.String processInstanceId)
      Specified by:
      getSecurityPolicyModelForProcessInstance in interface TaskPermissionService
    • getSecurityPolicyModelForCaseInstance

      public SecurityPolicyModel getSecurityPolicyModelForCaseInstance​(java.lang.String caseInstanceId)
      Specified by:
      getSecurityPolicyModelForCaseInstance in interface TaskPermissionService
    • hasPermissionForRuntimeTask

      protected boolean hasPermissionForRuntimeTask​(java.lang.String permission, org.flowable.task.api.Task task, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
    • hasPermissionForHistoricTask

      protected boolean hasPermissionForHistoricTask​(java.lang.String permission, org.flowable.task.api.history.HistoricTaskInstance historicTaskInstance, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
    • hasPermissionForTaskInProcess

      protected boolean hasPermissionForTaskInProcess​(java.lang.String permission, java.lang.String taskDefinitionKey, boolean isHistoricInstance, java.lang.String assignee, java.lang.String owner, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, java.lang.String processInstanceId, java.lang.String processDefinitionId, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
    • hasPermissionForTaskInCase

      protected boolean hasPermissionForTaskInCase​(java.lang.String permission, java.lang.String taskDefinitionKey, boolean isHistoricInstance, java.lang.String assignee, java.lang.String owner, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, java.lang.String caseInstanceId, java.lang.String caseDefinitionId, java.lang.String userId, java.util.Set<java.lang.String> groupKeys, java.lang.String tenantId)
    • hasPermissionForAdhocTask

      protected boolean hasPermissionForAdhocTask​(java.lang.String permission, java.lang.String parentTaskId, boolean isHistoricInstance, 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, java.lang.String tenantId)
    • hasPermissionOnParentTask

      protected boolean hasPermissionOnParentTask​(java.lang.String permission, java.lang.String parentTaskId, boolean isHistoricInstance, 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, java.lang.String tenantId)
    • hasPermission

      protected boolean hasPermission​(java.lang.String permission, java.lang.String assignee, java.lang.String owner, java.util.List<? extends org.flowable.identitylink.api.IdentityLinkInfo> identityLinks, SecurityPolicyModel securityPolicyModel)
    • getTask

      public org.flowable.task.api.Task getTask​(java.lang.String taskId, java.lang.String tenantId)
      Specified by:
      getTask in interface TaskPermissionService
    • getHistoricTask

      protected org.flowable.task.api.history.HistoricTaskInstance getHistoricTask​(java.lang.String taskId, java.lang.String tenantId)
    • getProcessInstance

      protected org.flowable.engine.runtime.ProcessInstance getProcessInstance​(java.lang.String processInstanceId, java.lang.String tenantId)
    • translateParentPermissions

      protected java.util.List<java.lang.String> translateParentPermissions​(java.util.List<java.lang.String> parentPermissions, java.lang.String scopeType)
    • checkPermissionInProcessParent

      protected boolean checkPermissionInProcessParent​(java.lang.String processPermission, SecurityPolicyModel securityPolicyModel)
    • checkPermissionInCaseParent

      protected boolean checkPermissionInCaseParent​(java.lang.String casePermission, SecurityPolicyModel securityPolicyModel)