W przypadku następującego kodu, jeśli bieżący użytkownik nie ma „pomijania dostępu do węzła” ( dokładne weryfikacje znajdują się w _node_query_node_access_alter () ), wówczas zapytanie sprawdza , czy węzeł dostępu jest dostępny, mimo że nie używam znacznika „node_access”.
Jak mogę uniknąć sprawdzania dostępu do węzła za pomocą następującego zapytania dla użytkownika niebędącego administratorem?
Używam tego kodu z modułu, więc mogę samodzielnie zweryfikować uprawnienia, bez potrzeby sprawdzania dostępu do węzła.
$query = new EntityFieldQuery;
$result = $query
->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'foo')
->fieldCondition('custom_id', 'value', $custom_id)
->execute();
Odpowiedź brzmi: nie możesz.
Jedyne obejście, jakie mogę wymyślić, aby dodać
account
metadane:EDYCJA: dodano
DANGEROUS_ACCESS_CHECK_OPT_OUT
opcję w ramach wydania bezpieczeństwa Drupal 7.15.źródło