有人可以解释Drupal中的"访问参数"吗?

use*_*036 14 drupal drupal-6

有人可以解释Drupal中的"访问参数"吗?相信我,我试过谷歌搜索它,但我只是没有明确掌握.

Cap*_*iel 13

在/ admin/user/permissions中,您将看到许多访问选项.它们来自drupal模块,并允许站点管理员向用户角色分发特定权限(drupal默认提供"匿名"和"注册"角色).模块通过hook_perm声明它们,它们很容易使用:

function mymodulename_perm {
return array('use custom feature', 'use the other custom feature');
}
Run Code Online (Sandbox Code Playgroud)

他们会出现在那里,随时可以使用.现在,在您的任何功能中,您可以通过user_access检查用户访问权限,这同样易于使用:

if (user_access('use custom feature')) {
  //do something
}
Run Code Online (Sandbox Code Playgroud)

  • 如果你想知道如何在hook_menu上使用它,只需在菜单项上设置'access arguments'=>'use custom feature'.默认情况下,"访问回调"设置为user_access,但可能会被覆盖(有关详细信息,请查看http://api.drupal.org/api/function/hook_menu/6) (3认同)
  • 对于Drupal 7,该函数被称为[hook_permission](https://api.drupal.org/api/drupal/modules!system!system.api.php/function/hook_permission/7) (3认同)

kia*_*uno 9

访问参数是传递给函数的参数,用于检查用户是否可以访问菜单.

给定菜单回调定义如下

  $items['blog/feed'] = array(
    'title' => 'RSS feed',
    'page callback' => 'blog_feed',
    'access callback' => 'custom_module_blog_access',
    'access arguments' => array('feed'),
    'type' => MENU_CALLBACK,
  );
Run Code Online (Sandbox Code Playgroud)

该函数custom_module_blog_access()将被称为custom_module_blog_access('feed').如果函数返回TRUE,则用户将被授予访问菜单回调的权限; 不同的是,用户将看到错误403页面(访问被拒绝).通常,未定义访问回调,默认情况下Drupal将使用user_access().