2010-05-13 50 views

回答

1

hook_perm定义了可能的权限,然后你可以去管理员/用户/权限分配权限到特定角色,然后使用user_access用户是否获得了权限(属于包含权限的角色)。

1

hook_perm允许您通过模块添加自定义权限。这些权限在配置用户角色时出现。 user_access是关于确定用户是否有权访问特定的权限。

8

如果实施hook_perm这将定义权限这样

/** 
* Implementation of hook_perm(). 
*/ 
function yourmodule_perm() { 
    return array('can select', 'can update', 'can delete'); 
} 

给定的模块然而权限本身没什么意思......控制哪些用户可以和不可以做的是一个方法user_access

// @ some other module function 
if (user_access('can delete')){ 
    // delete stuff 
} else { 
    drupal_access_denied(); 
} 

此外,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, 
); 

不要忘记在配置您的用户烫发:管理/用户/权限

+1

而hook_perm定义用户是否允许启用(检查任何用户的角色是否有可用的权限,user_access检查在管理员/用户/权限中启用权限) – 2010-05-19 04:08:55

相关问题