如果你实现hook_perm这将定义给定模块的权限,如下所示
/**
* Implementation of hook_perm().
*/
function yourmodule_perm() {
return array('can select', 'can update', 'can delete');
}
Run Code Online (Sandbox Code Playgroud)
然而,权限本身,没有任何意义......控制用户可以做什么和不能做什么的一种方法是user_access:
// @ some other module function
if (user_access('can delete')){
// delete stuff
} else {
drupal_access_denied();
}
Run Code Online (Sandbox Code Playgroud)
此外,通过执行以下hook_perm操作,可以在设置模块菜单时使用--defined权限hook_menu:
// @hook_menu
$items['modulepath'] = array(
'title' => 'modulename',
'page callback' => 'module_function',
'access callback' => 'user_access',
'access arguments' => array('can select'),
'type' => MENU_NORMAL_ITEM,
);
Run Code Online (Sandbox Code Playgroud)
不要忘记在以下位置配置用户权限:admin/user/permissions