Категория:
Опубликовано:

Список разрешений (access arguments) - Drupal7

Drupal Access Control

У Drupal весьма не плохая система контроля доступа (Access Control). Это тот самый интерфейс, по выдаче разрешений пользователям :))

Часто, при создании модулей нужно эти разрешения контролировать, но "под рукой" их никогда нет...

Ниже приведу список популярных разрешений, а так же способ их добычи.

Стандартные ("ядреные") пермишны

  • "access content" - Просмотр опубликованных материалов
  • "administer site configuration" - Управление конфигурацией сайта
  • "access administration pages" - Использовать страницы администрирования и справку
  • "view the administration theme" - Просмотр административной темы
  • "administer content types" - Управление типами материалов
  • "administer nodes" - Управление материалами
  • "administer taxonomy" - Управление словарями и терминами
  • "administer users" - Управление пользователями
  • "administer blocks" - Управление блоками
  • "administer modules" - Управление модулями
  • "access contextual links" - Использование контекстных ссылок
  • "administer filters" - Управление текстовыми форматами и фильтрами
  • "use text format full_html" - Использование текстового формата Full HTML
  • "administer languages" - Управление языками
  • "translate interface" - Перевод текстов интерфейса
  • "administer menu" - Управление меню и их пунктами
  • "administer content types" - Управление типами материалов
  • "administer nodes" - Управление материалами
  • "access content overview" - Просмотр страницы списка всех материалов
  • "access content" - Просмотр опубликованных материалов
  • "view own unpublished content" - Просмотр своих материалов, снятых с публикации
  • "create [ТИП_МАТЕРИАЛА] content" - Создание материала типа [ТИП_МАТЕРИАЛА]
  • "edit own [ТИП_МАТЕРИАЛА] content" - Редактирование собственных материалов типа [ТИП_МАТЕРИАЛА]
  • "edit any [ТИП_МАТЕРИАЛА] content" - Редактирование любых материалов типа [ТИП_МАТЕРИАЛА]
  • "delete own [ТИП_МАТЕРИАЛА] content" - Удаление собственных материалов типа [ТИП_МАТЕРИАЛА]
  • "delete any [ТИП_МАТЕРИАЛА] content" - Удаление любых материалов типа [ТИП_МАТЕРИАЛА]
  • "administer url aliases" - Управление синонимами URL
  • "create url aliases" - Создание и редактирование синонимов
  • "administer themes" - Управление темами
  • "administer software updates" - Управление обновлениями
  • "access site in maintenance mode" - Использование сайта в режиме обслуживания
  • "access site reports" - Просмотр отчётов сайта
  • "block IP addresses" - Блокирование IP-адресов
  • "translate content" - Перевод содержимого
  • "administer permissions" - Управление разрешениями
  • "access user profiles" - Просмотр профилей пользователей
  • "change own username" - Изменение собственного имени пользователя
  • "cancel account" - Удаление собственной учётной записи

Разрешения из популярных модулей

  • "access administration menu" - Доступ к меню администратора (модуль Admin Menu)
  • "flush caches" - Очистить кэш (модуль Admin Menu)
  • "display drupal links" - Показывать ссылки Drupal (модуль Admin Menu)
  • "administer ckeditor" - Управление доступом к CKEditor (модуль CKEditor)
  • "customize ckeditor" - Настроить внешний вид CKEditor (модуль CKEditor)
  • "administer entity translation" - Управление Entity Translation (модуль Entity Translation)
  • "translate any entity" - перевод любой сущности (модуль Entity Translation)
  • "translate node entities" - перевод материалов [нод] (модуль Entity Translation)
  • "translate taxonomy_term entities" - перевод материалов терминов (модуль Entity Translation)
  • "administer pathauto" - Управление настройками Pathauto (модуль Pathauto)
  • "administer views" - Управление представлениями (модуль Views)

Получение списка всех разрешений

Получить весь список доступных аргументов можно выполнив следующий сниппет:

$options = array();
foreach (module_list(FALSE, FALSE, TRUE) as $module) {
  if ($permissions = module_invoke($module, 'permission')) {
    /*dpm($permissions); // Если установлен Devel;*/
    print_r($permissions); // Или обычным способом.
  }
}
Если у Вас возникли вопросы, замечания, предложения или просто благодарность - пишите в комментариях.
Делитесь полезными материалами в социальных сетях.
Добавить комментарий