Class ProcessPermissionServiceImpl
- java.lang.Object
-
- com.flowable.platform.security.service.AbstractPlatformSecurityService
-
- com.flowable.platform.security.permission.ProcessPermissionServiceImpl
-
- All Implemented Interfaces:
PermissionService,PermissionServiceRegistryAware,ProcessPermissionService,Aware
public class ProcessPermissionServiceImpl extends AbstractPlatformSecurityService implements ProcessPermissionService
-
-
Field Summary
Fields Modifier and Type Field Description protected HistoryServicehistoryServiceprotected ProcessEngineConfigurationprocessEngineConfiguration-
Fields inherited from class com.flowable.platform.security.service.AbstractPlatformSecurityService
additionalAdminUsers, CASE_PREFIX, cmmnRepositoryService, cmmnRuntimeService, cmmnTaskService, defaultSecurityPolicyKey, defaultSecurityPolicyModel, inspectEnabled, permissionServiceRegistry, platformSecurityInterceptor, policyRepositoryService, PROCESS_PREFIX, repositoryService, runtimeService, SECURITY_POLICY_MODEL, TASK_PREFIX, taskService
-
-
Constructor Summary
Constructors Constructor Description ProcessPermissionServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancheckPermissionInProcessParent(String processPermission, SecurityPolicyModel securityPolicyModel)List<String>fetchPermissionsForHistoricScope(String scopeId, boolean checkWritePermissionInParent, String userId, Set<String> groupKeys, String tenantId)List<String>fetchPermissionsForHistoricScope(String scopeId, String userId, Set<String> groupKeys, String tenantId)List<String>fetchPermissionsForRuntimeScope(String scopeId, boolean checkWritePermissionInParent, String userId, Set<String> groupKeys, String tenantId)List<String>fetchPermissionsForRuntimeScope(String scopeId, String userId, Set<String> groupKeys, String tenantId)protected ProcessDefinitionfindProcessDefinition(String processDefinitionId, String processDefinitionKey, String tenantId)protected ProcessDefinitionfindProcessDefinitionTenantAware(String processDefinitionKey, String tenantId)HistoricProcessInstancegetHistoricProcessInstance(String processInstanceId, String tenantId)List<String>getHistoricProcessPermissions(String processInstanceId, String definitionId, List<? extends IdentityLinkInfo> identityLinks, String tenantId)ProcessInstancegetProcessInstance(String processInstanceId, String tenantId)List<String>getRuntimeProcessPermissions(String processInstanceId, String definitionId, List<? extends IdentityLinkInfo> identityLinks, String tenantId)StringgetScopeType()The scope type that this permissions service supports.protected SecurityPolicyModelgetSecurityModel(String processDefinitionId, String tenantId)protected booleanhasPermission(String permission, String startUserId, List<? extends IdentityLinkInfo> identityLinks, SecurityPolicyModel securityPolicyModel)booleanhasPermissionForHistoricProcessInstance(String permission, HistoricProcessInstance processInstance, String userId, Set<String> groupKeys, String tenantId)booleanhasPermissionForHistoricScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId)protected booleanhasPermissionForProcessInstance(String permission, String processInstanceId, boolean isHistoricInstance, String startUserId, List<? extends IdentityLinkInfo> identityLinks, String processDefinitionId, String userId, Set<String> groupKeys, String tenantId)booleanhasPermissionForProcessInstance(String permission, ProcessInstance processInstance, String userId, Set<String> groupKeys, String tenantId)booleanhasPermissionForRuntimeScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId)booleanhasPermissionForScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId)booleanhasReadPermissionOnScopeDefinition(String scopeDefinitionId, String scopeDefinitionKey, String userId, Set<String> groupKeys, String tenantId)booleanhasReadPermissionOnScopeDefinitionTenantAware(String scopeDefinitionKey, String userId, Set<String> groupKeys, String tenantId)protected List<String>translateParentPermissions(List<String> parentPermissions, String scopeType)voidvalidatePermissionForHistoricProcessInstance(String permission, HistoricProcessInstance processInstance, String userId, Set<String> groupKeys, String tenantId)voidvalidatePermissionForProcessInstance(String permission, ProcessInstance processInstance, String userId, Set<String> groupKeys, String tenantId)-
Methods inherited from class com.flowable.platform.security.service.AbstractPlatformSecurityService
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, translatePermissionForScope
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.flowable.platform.security.permission.PermissionService
validatePermissionForHistoricScope, validatePermissionForRuntimeScope, validatePermissionForScope, validatePermissionsForHistoricScope, validatePermissionsForRuntimeScope, validateReadPermissionOnScopeDefinition
-
-
-
-
Field Detail
-
historyService
@Autowired(required=false) protected HistoryService historyService
-
processEngineConfiguration
@Autowired protected ProcessEngineConfiguration processEngineConfiguration
-
-
Method Detail
-
getScopeType
public String 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
-
validatePermissionForProcessInstance
public void validatePermissionForProcessInstance(String permission, ProcessInstance processInstance, String userId, Set<String> groupKeys, String tenantId)
- Specified by:
validatePermissionForProcessInstancein interfaceProcessPermissionService
-
hasPermissionForProcessInstance
public boolean hasPermissionForProcessInstance(String permission, ProcessInstance processInstance, String userId, Set<String> groupKeys, String tenantId)
- Specified by:
hasPermissionForProcessInstancein interfaceProcessPermissionService
-
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
-
validatePermissionForHistoricProcessInstance
public void validatePermissionForHistoricProcessInstance(String permission, HistoricProcessInstance processInstance, String userId, Set<String> groupKeys, String tenantId)
- Specified by:
validatePermissionForHistoricProcessInstancein interfaceProcessPermissionService
-
hasPermissionForHistoricProcessInstance
public boolean hasPermissionForHistoricProcessInstance(String permission, HistoricProcessInstance processInstance, String userId, Set<String> groupKeys, String tenantId)
- Specified by:
hasPermissionForHistoricProcessInstancein interfaceProcessPermissionService
-
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
-
hasPermissionForRuntimeScope
public boolean hasPermissionForRuntimeScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId)
- Specified by:
hasPermissionForRuntimeScopein interfacePermissionService
-
hasPermissionForHistoricScope
public boolean hasPermissionForHistoricScope(String permission, String scopeId, String userId, Set<String> groupKeys, String tenantId)
- Specified by:
hasPermissionForHistoricScopein interfacePermissionService
-
getRuntimeProcessPermissions
public List<String> getRuntimeProcessPermissions(String processInstanceId, String definitionId, List<? extends IdentityLinkInfo> identityLinks, String tenantId)
- Specified by:
getRuntimeProcessPermissionsin interfaceProcessPermissionService
-
getHistoricProcessPermissions
public List<String> getHistoricProcessPermissions(String processInstanceId, String definitionId, List<? extends IdentityLinkInfo> identityLinks, String tenantId)
- Specified by:
getHistoricProcessPermissionsin interfaceProcessPermissionService
-
hasReadPermissionOnScopeDefinition
public boolean hasReadPermissionOnScopeDefinition(String scopeDefinitionId, String scopeDefinitionKey, String userId, Set<String> groupKeys, String tenantId)
- Specified by:
hasReadPermissionOnScopeDefinitionin interfacePermissionService
-
hasReadPermissionOnScopeDefinitionTenantAware
public boolean hasReadPermissionOnScopeDefinitionTenantAware(String scopeDefinitionKey, String userId, Set<String> groupKeys, String tenantId)
- Specified by:
hasReadPermissionOnScopeDefinitionTenantAwarein interfaceProcessPermissionService
-
getProcessInstance
public ProcessInstance getProcessInstance(String processInstanceId, String tenantId)
- Specified by:
getProcessInstancein interfaceProcessPermissionService
-
getHistoricProcessInstance
public HistoricProcessInstance getHistoricProcessInstance(String processInstanceId, String tenantId)
- Specified by:
getHistoricProcessInstancein interfaceProcessPermissionService
-
hasPermissionForProcessInstance
protected boolean hasPermissionForProcessInstance(String permission, String processInstanceId, boolean isHistoricInstance, String startUserId, List<? extends IdentityLinkInfo> identityLinks, String processDefinitionId, String userId, Set<String> groupKeys, String tenantId)
-
hasPermission
protected boolean hasPermission(String permission, String startUserId, List<? extends IdentityLinkInfo> identityLinks, SecurityPolicyModel securityPolicyModel)
-
getSecurityModel
protected SecurityPolicyModel getSecurityModel(String processDefinitionId, String tenantId)
-
findProcessDefinition
protected ProcessDefinition findProcessDefinition(String processDefinitionId, String processDefinitionKey, String tenantId)
-
findProcessDefinitionTenantAware
protected ProcessDefinition findProcessDefinitionTenantAware(String processDefinitionKey, String tenantId)
-
translateParentPermissions
protected List<String> translateParentPermissions(List<String> parentPermissions, String scopeType)
-
checkPermissionInProcessParent
protected boolean checkPermissionInProcessParent(String processPermission, SecurityPolicyModel securityPolicyModel)
-
-