drupal里面关于用户权限方面的文件具体在哪里文件里面?大概是怎么调用的?

Drupal中的权限有两部分组成:角色(roles)/权限(permission)
权限可以通过hook_perm钩子函数进行定义,例如:
function user_perm() {
  return array('administer permissions', 'administer users', 'access user profiles', 'change own username');
}
这里面的'administer permissions','administer users',就是一个具体的权限。

角色:可以理解为具有一组特定权限的集合,Drupal自带了两个角色,匿名用户,注册用户,角色可以通过后台(/admin/user/roles)添加,比如添加管理员、编辑等等角色。 添加好角色以后,可以在admin/user/permissions来为该角色定义它具有的权限。

通常启用了很多模块以后,权限列表很多,有很多权限很细的,配置起来很麻烦,可能需要不断的调整,选中,取消选中。如果你的权限不能正常工作,那么可以在admin/content/node-settings重置权限。这里有一个按钮。

Drupal内置的权限不能满足你需求的话,那么可以使用http://drupal.org/project/acl模块,以及相应的其它配套模块,比如Content Access 。
另外也可以通过使用hoook_node这个钩子函数来控制哪些内容显示给那些用户。

用户登录以后,Drupal会自动的加载user对象,$user对象是一个全局变量,里面包含roles属性数组,里面包含了用户所具有的角色。当遇到权限检查时,会检查用户所有的角色当中,是否存在一个角色,包含这个权限,如果存在的话,那么用户就通过了权限检查。

 

Drupal版本: