С помощью следующего кода, если текущий пользователь не имеет «обходного доступа к узлу» (см. _Node_query_node_access_alter () для точных проверок), тогда запрос проверяет наличие node_access, даже если я не использую тег «node_access».
Как можно избежать проверки node_access с помощью следующего запроса для пользователя без прав администратора?
Я использую этот код из модуля, поэтому я могу самостоятельно проверять права доступа, нет необходимости проверять node_access.
$query = new EntityFieldQuery;
$result = $query
->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'foo')
->fieldCondition('custom_id', 'value', $custom_id)
->execute();
Ответ в том, что вы не можете.
Единственный обходной путь, который я могу придумать, это добавить
account
метаданные:РЕДАКТИРОВАТЬ:
DANGEROUS_ACCESS_CHECK_OPT_OUT
опция была добавлена как часть выпуска безопасности Drupal 7.15.источник