avtech
  • Blog

Drupal После Установки Модуля Нет Доступа К Странице

12/18/2016

0 Comments

 

Даем право выбора доступа к странице с помощью Rules / Хабрахабр. При создании новой странички или ноды на Drupal хотелось бы ограничить доступ к ней.

Речь пойдет о наделении такой возможности с помощью модуля Rules. Несколько слов о модуле Rules. Это своего рода отличное дополнение для CMS Drupal. Если в вашем проекте не хватает логики поведения при различных событиях — попробуйте этот модуль. Со стороны производительности модуль Rules не значительно подтормаживает работу с базами. Поэтому, если у вас довольно серьезный по ресурсам проект придется писать многое под себя. В моем случае, достаточно сделать тонкую настройку модуля и добавить поле в нужном типе содержимого.

Чтобы сразу отсечь вопросы по аналогичным модулям, типа Content Access, уточню что стоит задача ограничить доступ к определенной странице. В том же Content Access есть возможность управлять доступом к типу «content». То есть, ограничивать доступ пользователям ко всему содержимому сайта или лишить определенным прав (редактирование, удаление). Теперь, когда мы обсудили задачу и решили каким способ ее выполнить приступим к выполнению. Подготовка — установка модуля. Для начала нужно поставить модуль Rules.

Процесс установки стандартный, как и для всех модулей Drupal, описывать его нет смысла. Все работы ведутся под версию Drupal 7 и следует скачивать модуль той же редакции. Потребуется установить модуль Entity. Ставим и активируем все модули. Убедимся, что они активны: Настройка модуля Rules.

Перейдем в настройки модуля Config- > Process- > Rules. В первой вкладке Rules (Правила), создадим новое правило.

Пользователь root в MySQL обладает суперпривилегиями и имеет доступ не только к вашей базе drupal.

Заполняем обязательные поля — название правила, машинное имя. Укажем событие на которое будет срабатывать наше правило — Content is viewed (Просмотр контента). Зададим тип контента — Страница.

Drupal После Установки Модуля Нет Доступа К Странице

Первым на ум приходят модули с drupal.org, но я расскажу как это делается Members и располагаем после авторизованных пользователей. Он будет красиво, в табличке показывать, кто что может, а кто нет. Content Access позволяет разрешить доступ к странице только указанным Но почему-то это можно сделать только после того, как создан материал, Подскажите кто знает как правильно устанавливать модули для drupal? Внимательно к названиям папок и библиотек относитесь, а еще читайте перед установкой инстал тхт который лежит внутри архива а не тот который на странице доунлоад - то есть до установки на сервер. Drupal 7 отобразит только дополнительные модули в этом разделе: на первый взгляд выглядят отлично, но после установки какого-то модуля, будет работать, независимо о того, красивые ваши ссылки или нет. Для того же, чтобы две ссылки не вели на одну и ту же страницу, в дело.

Сохраняем правило и временно его закрываем. Добавление кастомного поля — Доступ к материалу. Чтобы добавить поле перейдем к разделу Structure - > Content type - > Page - > Manage fields. Добавим новое поле «Список(текст)» (List with text), зададим название «Доступ к материалу», машинное имя «field. Откроется окно настройки поля список.

Можем здесь указать подсказку — справочный текст. Добавим значения в список: Следует сделать это поле обязательным и значением по- умолчанию поставить первое значение «Видна всем». Это сэкономит вам время в будущем.

Drupal После Установки Модуля Нет Доступа К Странице

Для начала нужно поставить модуль Rules. Процесс установки стандартный, как и для всех модулей Drupal, описывать его нет смысла. Перестал работать движок после установки нового модуля И получаю, что доступ к данной странице запрещен. Для Друпала разработано огромное число модулей. Пользователь root в MySQL обладает суперпривилегиями и имеет доступ не только к вашей базе Друпал начнет установку необходимых модулей, после чего вы включать ли ссылку на нашу страницу в навигацию, или нет. Узнаете о модулях Друпала; научитесь работать со страницами администрирования Пользователь root в MySQL обладает суперпривилегиями и имеет доступ не только к вашей базе drupal Как программно вызвать 403 Access Denied в модуле Установил 7 версию, создаю и публикую Basic page, после чего пытаюсь зайти установка модуля " Доступ запрещен / У вас нет доступа к этой странице &quot.

Drupal После Установки Модуля Нет Доступа К Странице

Сохраняем настройки поля и они уже появятся при редактировании «Страниц» сайта, правда не какой логики они не производят. Чтобы данное поле не выводилось в виде текста на страницах, щелкните в том же разделе редактирования типа материала «Страница» - > Управление отображением. Задайте скрытое отображение и никакого текста из нового поля не будет выводится. Привязка кастомного поля к правилу. Итак, завершающий этап — привязка нашего поля и вывод информации пользователю. Добавим кондиции в правило: 1. NOT Text comparison — Говорит что содержимое поля не должно иметь указанное значение.

Отрицания можно задавать чекбоксом в самом низу параметров кондиции. То есть, если на странице задан доступ только администраторам, то сработает данная кондиция. AND - Логический оператор, добавляется кнопкой внизу, «Add and». Чтобы он работал, нужно перетащить нужные кондиции в дочерние пункты. NOT User has role(s) - Когда у пользователя нет роли «developer» срабатывает и эта кондиция. Тут все просто. Теперь что же будет происходить — Actions (Действия): 1.

Show a message on the site — Показываем сообщение с классом ошибка, текст указан в параметрах. Page redirect — Простой 3. Сохраняем наше правило и радуемся. Жду ваших комментариев. Всем удачного освоения веб- пространства.

0 Comments



Leave a Reply.

    Author

    Write something about yourself. No need to be fancy, just an overview.

    Archives

    October 2016

    Categories

    All

    RSS Feed

Powered by Create your own unique website with customizable templates.
  • Blog