Class TaskPermissionServiceImpl
java.lang.Object
com.flowable.platform.security.service.AbstractPlatformSecurityService
com.flowable.platform.security.permission.TaskPermissionServiceImpl
- All Implemented Interfaces:
PermissionService,PermissionServiceRegistryAware,TaskPermissionService,Aware
public class TaskPermissionServiceImpl
extends AbstractPlatformSecurityService
implements TaskPermissionService
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CmmnHistoryServiceprotected HistoryServiceprotected PlatformIdentityServiceprotected StringFields inherited from class com.flowable.platform.security.service.AbstractPlatformSecurityService
additionalAdminUsers, CASE_PREFIX, cmmnRepositoryService, cmmnRuntimeService, cmmnTaskService, defaultSecurityPolicyKey, defaultSecurityPolicyModel, EXTERNAL_WORKER_PREFIX, inspectEnabled, permissionServiceRegistry, platformSecurityInterceptor, policyRepositoryService, PROCESS_PREFIX, repositoryService, runtimeService, SECURITY_POLICY_MODEL, TASK_PREFIX, taskService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancheckPermissionInCaseParent(String casePermission, SecurityPolicyModel securityPolicyModel) protected booleancheckPermissionInProcessParent(String processPermission, SecurityPolicyModel securityPolicyModel) fetchPermissionsForHistoricScope(String scopeId, boolean checkWritePermissionInParent, String userId, Set<String> groupKeys, String tenantId) fetchPermissionsForHistoricScope(String scopeId, String userId, Set<String> groupKeys, String tenantId) fetchPermissionsForRuntimeScope(String scopeId, boolean checkWritePermissionInParent, String userId, Set<String> groupKeys, String tenantId) fetchPermissionsForRuntimeScope(String scopeId, String userId, Set<String> groupKeys, String tenantId) protected HistoricTaskInstancegetHistoricTask(String taskId, String tenantId) getHistoricTaskPermissions(String taskId, String taskDefinitionKey, String instanceId, String definitionId, String scopeType, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, String tenantId) protected ProcessInstancegetProcessInstance(String processInstanceId, String tenantId) getRuntimeTaskPermissions(String taskId, String taskDefinitionKey, String instanceId, String definitionId, String scopeType, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, String tenantId) The scope type that this permissions service supports.getSecurityPolicyModelForCaseInstance(String caseInstanceId) getSecurityPolicyModelForProcessInstance(String processInstanceId) getTaskCandidateTypes(Task task) protected booleanhasPermission(String permission, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, SecurityPolicyModel securityPolicyModel) protected booleanhasPermissionForAdhocTask(String permission, String parentTaskId, boolean isHistoricInstance, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, String userId, Set<String> groupKeys, String tenantId) booleanhasPermissionForHistoricScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId) protected booleanhasPermissionForHistoricTask(String permission, HistoricTaskInstance historicTaskInstance, String userId, Set<String> groupKeys, String tenantId) booleanhasPermissionForRuntimeScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId) protected booleanhasPermissionForRuntimeTask(String permission, Task task, String userId, Set<String> groupKeys, String tenantId) booleanhasPermissionForScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId) protected booleanhasPermissionForTaskInCase(String permission, String taskDefinitionKey, boolean isHistoricInstance, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, String caseInstanceId, String caseDefinitionId, String userId, Set<String> groupKeys, String tenantId) protected booleanhasPermissionForTaskInProcess(String permission, String taskDefinitionKey, boolean isHistoricInstance, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, String processInstanceId, String processDefinitionId, String userId, Set<String> groupKeys, String tenantId) protected booleanhasPermissionOnParentTask(String permission, String parentTaskId, boolean isHistoricInstance, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, String userId, Set<String> groupKeys, String tenantId) booleanhasReadPermissionOnScopeDefinition(String scopeDefinitionId, String scopeDefinitionKey, String userId, Set<String> groupKeys, String tenantId) translateParentPermissions(List<String> parentPermissions, String scopeType) voidvalidateAssigneeValue(Task task, String newAssignee) voidvalidateParticipantValue(Task task, String newParticipant) Methods inherited from class com.flowable.platform.security.service.AbstractPlatformSecurityService
addAdditionalPermissions, currentUserHasAdminRights, currentUserIsSuperAdmin, fetchCasePermissionMappings, fetchCasePermissionMappings, fetchCaseSecurityPolicyModel, fetchPermissions, fetchPermissionsForTask, fetchProcessPermissionMappings, fetchProcessPermissionMappings, fetchProcessSecurityPolicyModel, fetchSecurityPolicyModel, fetchSecurityPolicyModel, fetchSecurityPolicyModelForCaseInstance, fetchSecurityPolicyModelForProcessInstance, fetchSecurityPolicyModelForTask, fetchSecurityPolicyModelForTask, fetchTaskPermissionMappings, fetchTaskPermissionMappings, fetchTaskPermissionMappings, fetchTaskPermissionMappingsForCase, fetchTaskPermissionMappingsForProcess, fetchTaskSecurityPolicyModelForCase, fetchTaskSecurityPolicyModelForProcess, filterPermissionsForRole, getCmmnExtensionElementValue, getCurrentGroupKeys, getCurrentSecurityScope, getCurrentTenantId, getCurrentUserId, getDefaultSecurityPolicyModel, getExtensionElementValue, getSecurityPolicyModelByKey, groupOrUserMatches, groupOrUserMatches, hasAnyMatchingIdentityLink, hasAssigneeOrOwnerIdentityLink, hasPermissionForEntityLinks, hasPermissionForHistoricEntityLinks, setPermissionServiceRegistry, translatePermissionForScopeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.flowable.platform.security.permission.PermissionService
validatePermissionForHistoricScope, validatePermissionForRuntimeScope, validatePermissionForScope, validatePermissionsForHistoricScope, validatePermissionsForRuntimeScope, validateReadPermissionOnScopeDefinition
-
Field Details
-
historyService
-
cmmnHistoryService
-
identityService
-
participantCandidateGroups
-
-
Constructor Details
-
TaskPermissionServiceImpl
-
-
Method Details
-
getScopeType
Description copied from interface:PermissionServiceThe scope type that this permissions service supports.- Specified by:
getScopeTypein interfacePermissionService
-
hasPermissionForScope
public boolean hasPermissionForScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId) - Specified by:
hasPermissionForScopein interfacePermissionService
-
hasPermissionForRuntimeScope
public boolean hasPermissionForRuntimeScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId) - Specified by:
hasPermissionForRuntimeScopein interfacePermissionService
-
fetchPermissionsForRuntimeScope
public List<String> fetchPermissionsForRuntimeScope(String scopeId, String userId, Set<String> groupKeys, String tenantId) - Specified by:
fetchPermissionsForRuntimeScopein interfacePermissionService
-
fetchPermissionsForRuntimeScope
public List<String> fetchPermissionsForRuntimeScope(String scopeId, boolean checkWritePermissionInParent, String userId, Set<String> groupKeys, String tenantId) - Specified by:
fetchPermissionsForRuntimeScopein interfacePermissionService
-
hasPermissionForHistoricScope
public boolean hasPermissionForHistoricScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId) - Specified by:
hasPermissionForHistoricScopein interfacePermissionService
-
fetchPermissionsForHistoricScope
public List<String> fetchPermissionsForHistoricScope(String scopeId, String userId, Set<String> groupKeys, String tenantId) - Specified by:
fetchPermissionsForHistoricScopein interfacePermissionService
-
fetchPermissionsForHistoricScope
public List<String> fetchPermissionsForHistoricScope(String scopeId, boolean checkWritePermissionInParent, String userId, Set<String> groupKeys, String tenantId) - Specified by:
fetchPermissionsForHistoricScopein interfacePermissionService
-
getRuntimeTaskPermissions
public List<String> getRuntimeTaskPermissions(String taskId, String taskDefinitionKey, String instanceId, String definitionId, String scopeType, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, String tenantId) - Specified by:
getRuntimeTaskPermissionsin interfaceTaskPermissionService
-
getHistoricTaskPermissions
public List<String> getHistoricTaskPermissions(String taskId, String taskDefinitionKey, String instanceId, String definitionId, String scopeType, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, String tenantId) - Specified by:
getHistoricTaskPermissionsin interfaceTaskPermissionService
-
hasReadPermissionOnScopeDefinition
public boolean hasReadPermissionOnScopeDefinition(String scopeDefinitionId, String scopeDefinitionKey, String userId, Set<String> groupKeys, String tenantId) - Specified by:
hasReadPermissionOnScopeDefinitionin interfacePermissionService
-
getSecurityPolicyModelForProcessInstance
- Specified by:
getSecurityPolicyModelForProcessInstancein interfaceTaskPermissionService
-
getSecurityPolicyModelForCaseInstance
- Specified by:
getSecurityPolicyModelForCaseInstancein interfaceTaskPermissionService
-
hasPermissionForRuntimeTask
-
hasPermissionForHistoricTask
-
hasPermissionForTaskInProcess
protected boolean hasPermissionForTaskInProcess(String permission, String taskDefinitionKey, boolean isHistoricInstance, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, String processInstanceId, String processDefinitionId, String userId, Set<String> groupKeys, String tenantId) -
hasPermissionForTaskInCase
-
hasPermissionForAdhocTask
-
hasPermissionOnParentTask
-
hasPermission
protected boolean hasPermission(String permission, String assignee, String owner, List<? extends IdentityLinkInfo> identityLinks, SecurityPolicyModel securityPolicyModel) -
getTask
- Specified by:
getTaskin interfaceTaskPermissionService
-
getHistoricTask
-
getProcessInstance
-
translateParentPermissions
-
checkPermissionInProcessParent
protected boolean checkPermissionInProcessParent(String processPermission, SecurityPolicyModel securityPolicyModel) -
checkPermissionInCaseParent
protected boolean checkPermissionInCaseParent(String casePermission, SecurityPolicyModel securityPolicyModel) -
validateAssigneeValue
- Specified by:
validateAssigneeValuein interfaceTaskPermissionService
-
validateParticipantValue
- Specified by:
validateParticipantValuein interfaceTaskPermissionService
-
getTaskCandidateTypes
- Specified by:
getTaskCandidateTypesin interfaceTaskPermissionService
-