自定义创建的角色用户的$ is_admin相等

时间:2010-07-14 15:12:25

标签: drupal drupal-6 roles admin

我为客户创建了 site-admin 角色来编辑页面内容。

此网站管理员下的用户是否包含 $ is_admin 条件?我测试了,因为我看到它不是,除非我错过了什么。那么,对于我自定义创建的角色用户,$ is_admin的相等性是什么?

欣赏帮助!!非常感谢

2 个答案:

答案 0 :(得分:3)

如下所示:

if (user_access('access administration pages')) {
 $variables['is_admin'] = TRUE;
}

根据http://api.drupal.org/api/function/template_preprocess/6

但是这种许可是过度的,这实际上取决于你想要实现的目标。

或者,您可以执行以下操作:

global $user;

if ($user->uid != 0 && in_array('some_role', $user->roles)) {
  $user_is_some_role = TRUE;
}

答案 1 :(得分:2)

建议您不要检查用户是否具有特定角色,但是如果用户具有特定权限。这是安全方面的基本规则:它不是关于你是谁,而是关于你被允许做什么。

$ is_admin变量有点混乱,因为名称表明它检查某个角色。但是,Kevin发布的代码显示$ is_admin实际上正在检查权限。