snaker-core/src/main/java/org/snaker/engine/core/TaskService.java
public boolean isAllowed(Task task, String operator) {
		if(StringHelper.isNotEmpty(operator)) {
			if(SnakerEngine.ADMIN.equalsIgnoreCase(operator)
					|| SnakerEngine.AUTO.equalsIgnoreCase(operator)) {
				return true;
			}
			if(StringHelper.isNotEmpty(task.getOperator())) {
				return operator.equals(task.getOperator());
			}
		}
		List<TaskActor> actors = access().getTaskActorsByTaskId(task.getId());
		if(actors == null || actors.isEmpty()) return true;
		return !StringHelper.isEmpty(operator)
				&& getStrategy().isAllowed(operator, actors);
	}
public boolean isAllowed(Task task, String operator) {
		if(StringHelper.isNotEmpty(operator)) {
			if(SnakerEngine.ADMIN.equalsIgnoreCase(operator)
					|| SnakerEngine.AUTO.equalsIgnoreCase(operator)) {
				return true;
			}
			if(StringHelper.isNotEmpty(task.getOperator())) {
				return operator.equals(task.getOperator());
			}
		}
		List<TaskActor> actors = access().getTaskActorsByTaskId(task.getId());
		if(actors == null || actors.isEmpty()) return true;
		return !StringHelper.isEmpty(operator)
				&& getStrategy().isAllowed(operator, actors);
	}
public boolean isAllowed ( Task task , String operator ) { if ( StringHelper . isNotEmpty ( operator ) ) { if ( SnakerEngine . ADMIN . equalsIgnoreCase ( operator ) || SnakerEngine . AUTO . equalsIgnoreCase ( operator ) ) { return true ; } if ( StringHelper . isNotEmpty ( task . getOperator ( ) ) ) { return operator . equals ( task . getOperator ( ) ) ; } } List < TaskActor > actors = access ( ) . getTaskActorsByTaskId ( task . getId ( ) ) ; if ( actors == null || actors . isEmpty ( ) ) return true ; return ! StringHelper . isEmpty ( operator ) && getStrategy ( ) . isAllowed ( operator , actors ) ; }
判断当前操作人operator是否允许执行taskId指定的任务
判断当前操作人operator是否允许执行taskId指定的任务