Может кто-нибудь объяснить "аргументы доступа" в Drupal? Поверьте мне, я попробовал Googling, но я просто не понимаю.
Может кто-нибудь объяснить "аргументы доступа" в Drupal?
Ответ 1
в/admin/user/permissions вы увидите множество параметров доступа. они поступают из модулей drupal и позволяют администратору сайта распространять определенные разрешения для ролей пользователей (по умолчанию drupal предоставляет "анонимные" и "зарегистрированные" роли). модули объявляют их через hook_perm, и они так же просты в использовании, как:
function mymodulename_perm {
return array('use custom feature', 'use the other custom feature');
}
и они появятся там, готовые к использованию. теперь, в любой вашей функции, вы можете проверить доступ пользователей через user_access, который так же прост в использовании:
if (user_access('use custom feature')) {
//do something
}
Ответ 2
Аргументы доступа - это аргументы, переданные функции, которая проверяет, имеет ли пользователь доступ к меню.
Учитывая определение обратного вызова меню в качестве следующего
$items['blog/feed'] = array(
'title' => 'RSS feed',
'page callback' => 'blog_feed',
'access callback' => 'custom_module_blog_access',
'access arguments' => array('feed'),
'type' => MENU_CALLBACK,
);
Функция custom_module_blog_access()
будет называться custom_module_blog_access('feed')
. Если функция возвращает TRUE
, то пользователю будет предоставлен доступ к обратному вызову меню; иначе пользователь увидит страницу с ошибкой 403 (доступ запрещен).
Обычно обратный вызов доступа не определен, и по умолчанию Drupal будет использовать user_access()
.
Ответ 3
Для использования предопределенных допустимых разрешений, таких как системные разрешения:
- Проверить список допустимых разрешений на:/admin/people/permissions
-
Скопируйте строку разрешений и добавьте ее в массив массивов доступа:
function mymodule_menu() { $items['admin/config/mymodule_config'] = [ 'title' => 'MyModule', 'page callback' => 'drupal_get_form', 'access callback' => '_mymodule_admin_form', 'access arguments' => array('administer site configuration'), 'type' => MENU_CALLBACK ]; return $items; }
Ссылка: Допустимые аргументы доступа