Модули Drupal: Taxonomy Access Control. Настраиваем форум в Drupal

аватар: andyceo

Введение

Taxonomy Access Control (TAC) - это замечательный модуль, который позволит Вам разграничить доступ для пользователей к категориям, документам и разделам сайта на основе терминов таксономии (стандартный модуль Drupal Taxonomy). Если говорить точно в терминах Drupal, модуль позволяет назначать права доступа ролям пользователей для терминов терминов таксономии.

Основные возможности модуля:

  • Автоматически контролирует доступ к терминам таксономии и к документам сайта (основываясь на принадлежности документа к тому или иному термину).
  • Отдельная страница конфигурирования для каждой из ролей пользователей
  • Пять видов доступа: Просмотр (View), Обновление (Update), Удаление (Delete), Создание (Create), Отображение списка (List)

Если вы в душе авантюрист, попробуйте ветку модуля 5.x-2.x-dev. В настоящее время она более-менее стабильна, и имеет множество улучшений.

Если вы хотите задавать права доступа к терминам таксономии не к ролям, а к пользователям, попробуйте модуль Taxonomy Access Control Lite (tac_lite).

Итак, со вступлениями покончено, теперь рассмотрим модуль подробнее (версии 5.x-1.1).

Краткое описание

После того, как модуль корректно установлен в Drupal, перейдите на основную модуля - страницу настройки доступа к таксономии (/admin/user/taxonomy_access). Вы увидите список ролей, которые определены в вашей системе:

Список ролей на странице доступа к таксономии

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

Список словарей (категорий) на странице задания прав доступа к таксономии для роли authenticated_users

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

Список терминов в словаре for nat на странице задания прав доступа к таксономии для роли authenticated_users

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

Подробное описание

На странице задания прав доступа каждой роли, отображаются все категории (словари) с входящими в них терминами и доступными типами полномочий (прав): Просмотр (View), Обновление (Update), Удаление (Delete), Создание (Create), Вывод списка (List) . Ниже приведено их краткое описание:

  • Просмотр позволяет пользователю получить доступ к материалу, помеченному данным термином.
  • Обновление, Удаление позволяет пользователю обновлять и удалять всё содержимое, помеченное данным термином. Эти полномочия рекомендуется назначать только администраторам содержимого.
  • Создание позволяет пользователю создавать и редактировать материал, помечая его текущим термином.
  • Вывод списка позволяет пользователю просматривать название данного термина в материале или в списке категорий. Он также управляет доступом к странице таксономии для данного термина. (странице вида "taxonomy/term/*", которая позволяет просмотреть список всех материалов сайта, помеченных данным термином).

Полномочия Просмотр, Обновление и Удаление используются тогда, когда пользователь имеет доступ к материалам. Полномочия Просмотр списка и Создание используются тогда, когда пользователь может просматривать и выбирать термин. (Примечание: В предыдущих версиях Taxonomy Access Control нет настройки права Отображение списка; эта функциональность контролировалась полномочием Просмотра.)

Каждое из прав - Просмотр, Обновление и Удаление - имеют три опции для каждого термина: (A) Разрешить (от англ. Access), (I) Игнорировать (от англ. Ignore), и (D) Запретить (от англ. Deny). Вы должны указать, какие права каждая роль должна иметь для каждого термина.

Полномочия Создание и Отображение списка имеют только две опции для каждого термина: Да (отмечено) или Нет (не отмечено). Укажите, какие права каждая роль должна иметь для каждого термина.

Важно:
Опция Запретить (D), обрабатывается после опции Разрешить (A). Это означает, что опция Запретить (D) перекрывает опцию Разрешить (A). Так, если материал помечен терминами "А" и "В" и пользователь обладает правом Просмотра для термина "А", но не обладает правом Просмотра для термина "В", он никогда не увидит данный материал.

По умолчанию доступ запрещен. Так, если материал относиться к термину "С" и "D" и пользователь обладает полномочием Игнорировать для права Просмотр данных категорий "А" и "В", он не получит разрешения для права Просмотр текущего материала.

(Если вам знаком синтаксис mod_access сервера Apache, то можно сказать, что данные полномочия работают по аналогии с директивой ORDER ALLOW, DENY).

Параметры (A) Разрешить / (I) Игнорировать / (D) Запретить и Выделить / Снять выделение:
Рядом с заголовком каждого словаря есть поля, содержащие варианты привилегий, которые могут быть установлены для индивидуальных терминов. Выбирая одну из этих опций, используя выпадающий список, можно установить данный вариант для всех терминов словаря.
Выбор "--" не позволит автоматически назначить полномочия всем терминам словаря;
Внимание: Это не изменит "Значение по умолчанию".

Значение по умолчанию:
Данная опция автоматически устанавливает полномочия роли для любых новых терминов, которые будут добавлены в данный словарь.

Теперь полезно вспомнить, что на этой странице мы задаём права на просмотр для какой-то _одной_ роли. А что, если пользователь принадлежит не одной, а нескольким ролям? В этом случае, пользователь получает права доступа даже тогда, когда доступ был разрешён только для одной какой-то роли. Права доступа текущего пользователя складываются из всех прав доступа его ролей. Параметр Разрешить перекрывает параметр Запретить. Это отличается от ситуации назначения прав доступа к материалам (к материалам, входящим в несколько категорий), обрабатывающих ОДНУ ПОЛЬЗОВАТЕЛЬСКУЮ РОЛЬ, как отмечалось выше.

Форматы вывода: Правка / Удаление материала заблокированы даже в тех случаях, когда пользователь обладает полномочиями типа Обновление / Удаление, а также если пользователю не разрешено использовать формат фильтра в котором был сохранен материал.

Использование Taxonomy Access Control для управления доступом к форумам (создание приватных форумов и т.п.)

Т.к. в Drupal категоризация форумов осуществляется через стандартный модуль таксономии, существует возможность использовать модуль Taxonomy Access Control для ограничения доступа определённым ролям пользователей к тем или иным разделам форума, тем самым создавая разделы, видимые строго определённым ролям пользователей.

Для этого, вы должны для каждой роли в словаре Forums (Форумы) назначить тот или иной вид доступа к тому или иному термину. Термины в словаре форума есть не что иное, как разделы форума.

Подробнее о модуле Taxonomy Access Control и некоторых других, предназначенных для управления форумом, можно прочитать в статье "Private forums in Drupal: Forum Access vs. Taxonomy Access vs. Taxonomy Access Control Lite" на английском языке или же ознакомиться с переводом этой статьи на русском языке: «Приватные форумы в Drupal: Forum Access, Taxonomy Access или Taxonomy Access Control Lite?»

Источники: Официальная страница модуля Taxonomy Access Control на сайте drupal.org

Комментарии

аватар: Гость

Купил курс Drupal -

Купил курс Drupal - Профессиональное создание сайтов с нуля.", могу поделиться чтоб окупить затраты, если не жалко рублей 50 стучите.
Ася:596755713 и мыло kolia_m_88@mail.ru

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can use the <go> tags just like the <a> for nicer urls.
  • Доступны HTML теги: <a> <img> <noindex> <br> <em> <i> <strong> <b> <strike> <s> <u> <sup> <sub> <h1> <h2> <h3> <h4> <h5> <h6> <cite> <blockquote> <abbr> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <div> <span> <hr>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <blockcode>. The supported tag styles are: <foo>, [foo]. PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

Подробнее о форматировании

CAPTCHA
Введите, пожалуйста, код, который Вы видите на картинке. Показ изображений в браузере должен быть включен.
CAPTCHA на основе изображений
Введите символы, которые показаны на картинке.
Добавьте страницу в закладки. Перейти к верху страницы
RSS-материал