Закрытые разделы сайта (запрет просмотра страниц)

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

Аватар пользователя sapfir sapfir 15 ноября 2019 в 11:14

Добрый день, друзья!

Встречался ли вам хороший модуль (готовое, простое решение) для Drupal 8, что бы скрывать определенные разделы сайта от некоторых ролей пользователей?

Например:

  • Запретить анонимным пользователям просматривать страницы Node или Taxonomy определенного типа?
  • А так же зарегистрированным пользователям (потребительская сторона: читатели, клиенты), но не входящим ни в какие другие специальные роли, запретить делать тоже самое.
  • А в будущем иметь возможность запрещать просмотр некоторых разделов пользователям даже со специфичной ролью (создатели сайта: авторы, админы всякие).

Но самое главное потребительской стороне, как то доступ ограничить, а свои ладно пусть пока читают любые разделы.

Раздел сайта - материалы, термины таксономии относящиеся к какому либо одному типу (в данном случае).
Специальные роли - роли которые создает администратор сайта для пользователей под их задачи.

Можно просто не выводить ни где на сайте публичных ссылок на эти разделы (представления), но все равно человек может просто в адресной строке перебирать URL подставляя разные id (/node/*) таким образом попадая на материалы.

Как защитить материалы определенных типов или термины таксономии определенного словаря от просмотра этими типами пользователей?

Скрывать отдельный материал или термин или пункт меню пока не требуется и вроде бы по задумке в будущем не понадобится.

Я видел предложение написать свой модуль (https://niklan.net/blog/63), но мой вопрос звучит именно, как есть ли, что ни будь готовое.

Так же я видел кое какие готовые модули (https://www.drupal.org/project/pages_restriction), но не понял хорошо ли они заработают на Drupal 8. Я пока только начинаю привыкать к каталогу модулей и процессу поиска, выбора модулей. Не знаю то ли это? Будет ли он стабильно работать, не сломает ли мне чего ни будь? Или не будет ли процесс его использования в админке через чур замороченным. Хотелось бы, что бы это было похоже, как контроль доступа, отображения блоков на странице.

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

И с другой стороны вопрос кто какие модули использует, может порекомендовать для подобных целей.

Лучший ответ

Аватар пользователя ivnish ivnish 15 ноября 2019 в 12:18

но не понял хорошо ли они заработают на Drupal 8

Иногда, чтобы что-то понять - нужно попробовать (минутка философии)

Судя по скриншотам https://www.drupal.org/project/pages_restriction имеет не очень гибкие настройки, под ваше ТЗ наверное не подходит.

Комментарии

Аватар пользователя ivnish ivnish 15 ноября 2019 в 12:18

но не понял хорошо ли они заработают на Drupal 8

Иногда, чтобы что-то понять - нужно попробовать (минутка философии)

Судя по скриншотам https://www.drupal.org/project/pages_restriction имеет не очень гибкие настройки, под ваше ТЗ наверное не подходит.

Аватар пользователя sapfir sapfir 15 ноября 2019 в 12:25

ivnish wrote:

но не понял хорошо ли они заработают на Drupal 8

Иногда, чтобы что-то понять - нужно попробовать (минутка философии)

Это точно). Сейчас уже первичное сопротивление и желание все за шесть секунд настроить пропало. Нашел более прикольные модули и статьи про них. Буду пробовать их в скором времени. Потом закину сюда ссылки для будущих поколений. Тема создания закрытых разделов очень важная для многих систем.

Аватар пользователя sapfir sapfir 15 ноября 2019 в 12:30

ivnish wrote:
Гляньте тут еще https://www.optasy.com/blog/how-do-you-restrict-access-content-drupal-8-...

Да, думаю эта статья это то, что нужно на сегодняшний день. Многие смогут найти себе подходящий вариант из предложенных решений в статье. Я наверное остановлюсь пока на этом:
https://www.drupal.org/project/content_access
https://www.ostraining.com/blog/drupal/drupal-8-restricting-content/

Еще краем глаза заметил метод связанный с какими то группами в Drupal, но пока еще не слышал про них. Придется пока прочитать про них, что это такое, может в будущем придется где то использовать.