Nodeaccess исчезает контент в представлении

Главные вкладки

Аватар пользователя sapfir sapfir 2 апреля 2020 в 20:31

Если, кто то более опытный решал подобную проблему расскажите, как вы это сделали.
Какие еще есть способы более грамотные.

Я использую модуль Nodeaccess.
Это контроль доступа к Node (материалам).
https://www.drupal.org/project/nodeaccess

В представлении не показываются материалы у которых не заполнено поле связи с другим материалом если в представление добавлена связь по этому полю, а поле типа "Ссылка на сущность Содержимое".

Проблему можно решить следующим.
В представлении -> Расширенные настройки -> Параметры запроса - установить флажок «Отключить перезапись SQL».

Есть еще похожие модули.
https://www.drupal.org/project/node_view_permissions
https://www.drupal.org/project/content_access

У всех у них есть похожая проблема.
По ссылкам доходчиво и подробно написано.
https://www.drupal.org/project/node_view_permissions/issues/2946860
https://www.drupal.org/node/1349080

Комментарий где рассказывается простое решение
https://www.drupal.org/project/drupal/issues/1349080#comment-5857740

Может это решение не самое правильное и в будущем может вызвать ошибки или утечьки информации, но пока так.

В дальнейшем могут быть новые проблемы поэтому буду готовиться.

Описание проблемы.

Я установил разрешение «просматривать собственное содержимое» для пользовательского типа содержимого, и когда пользователи переходят непосредственно к содержимому, оно работает нормально. Однако при отображении содержимого в представлении, когда я включаю «разрешения на просмотр узлов» для этого типа содержимого, представление не будет отображать никаких результатов, но только для администратора.

Записи начали появляться для аутентифицированного пользователя только после того, как одна связь с другим типом контента была удалена из представления. Аутентифицированный пользователь имеет доступ к типу содержимого, используемому в отношении, поэтому его наличие или отсутствие не должно влиять на содержимое просмотра. Правильно?
Отношение, которое «ломает просмотр» имеет тип «ссылка на сущность».

У меня есть тип контента под названием Альбом. У меня есть другой тип контента под названием Review, который имеет ссылку на сущность для альбома.

Я создал вид, в котором перечислены альбомы. Я хотел включить некоторые поля из своего типа содержимого Review, но я все еще хочу перечислить каждый альбом, даже если обзор, ссылающийся на альбом, еще не был создан.

На мой взгляд, в разделе «Отношения» я добавляю отношение «Ссылка на сущность: ссылка на сущность». Я удостоверяюсь, что «Требуются эти отношения» НЕ проверено.

Когда я вошел в систему как администратор, все альбомы возвращаются, как и ожидалось. Но когда я не вошел в систему или вошел как обычный пользователь, отображаются только альбомы, на которые ссылается рецензия. Я действительно озадачен тем, почему я получаю разные результаты в зависимости от моей роли пользователя.

Я получаю одинаковые результаты независимо от того, добавляю ли я поля из типа содержимого «Обзор» или нет. Я пытался очистить кэш несколько раз, и я пытался установить и снять флажок «Требовать эти отношения». Я удалил отношения и попытался добавить их снова, но всегда получаю одинаковые результаты.

Конец.