| Август 2008 | ||||||
| ПН | ВТ | СР | ЧТ | ПТ | СБ | ВС |
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Taxonomy Access Control (TAC) - это замечательный модуль, который позволит Вам разграничить доступ для пользователей к категориям, документам и разделам сайта на основе терминов таксономии (стандартный модуль Drupal Taxonomy). Если говорить точно в терминах Drupal, модуль позволяет назначать права доступа ролям пользователей для терминов терминов таксономии.
Основные возможности модуля:
Если вы в душе авантюрист, попробуйте ветку модуля 5.x-2.x-dev. В настоящее время она более-менее стабильна, и имеет множество улучшений.
Если вы хотите задавать права доступа к терминам таксономии не к ролям, а к пользователям, попробуйте модуль Taxonomy Access Control Lite (tac_lite).
Итак, со вступлениями покончено, теперь рассмотрим модуль подробнее (версии 5.x-1.1).
После того, как модуль корректно установлен в Drupal, перейдите на основную модуля - страницу настройки доступа к таксономии (/admin/user/taxonomy_access). Вы увидите список ролей, которые определены в вашей системе:

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

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

Теперь давайте подробнее рассмотрим эту страницу и логику работы модуля.
На странице задания прав доступа каждой роли, отображаются все категории (словари) с входящими в них терминами и доступными типами полномочий (прав): Просмотр (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) Запретить и Выделить / Снять выделение:
Рядом с заголовком каждого словаря есть поля, содержащие варианты привилегий, которые могут быть установлены для индивидуальных терминов. Выбирая одну из этих опций, используя выпадающий список, можно установить данный вариант для всех терминов словаря.
Выбор "--" не позволит автоматически назначить полномочия всем терминам словаря;
Внимание: Это не изменит "Значение по умолчанию".
Значение по умолчанию:
Данная опция автоматически устанавливает полномочия роли для любых новых терминов, которые будут добавлены в данный словарь.
Теперь полезно вспомнить, что на этой странице мы задаём права на просмотр для какой-то _одной_ роли. А что, если пользователь принадлежит не одной, а нескольким ролям? В этом случае, пользователь получает права доступа даже тогда, когда доступ был разрешён только для одной какой-то роли. Права доступа текущего пользователя складываются из всех прав доступа его ролей. Параметр Разрешить перекрывает параметр Запретить. Это отличается от ситуации назначения прав доступа к материалам (к материалам, входящим в несколько категорий), обрабатывающих ОДНУ ПОЛЬЗОВАТЕЛЬСКУЮ РОЛЬ, как отмечалось выше.
Форматы вывода: Правка / Удаление материала заблокированы даже в тех случаях, когда пользователь обладает полномочиями типа Обновление / Удаление, а также если пользователю не разрешено использовать формат фильтра в котором был сохранен материал.
Т.к. в 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
Последние комментарии
1 день 12 часов назад
1 день 12 часов назад
1 день 12 часов назад
1 день 13 часов назад
2 дня 9 часов назад
2 дня 19 часов назад
3 дня 23 часа назад
3 дня 23 часа назад
1 неделя 1 день назад
1 неделя 1 день назад