Равенство $ is_admin для пользователей с пользовательской ролью - PullRequest
2 голосов
/ 14 июля 2010

Я создал роль site-admin для моего клиента для редактирования содержимого страницы.

Включены ли пользователи этого администратора сайта в условие $ is_admin ?Я проверил, и, как я вижу, это не так, если я что-то пропустил.Итак, каково равенство $ is_admin для моих пользователей, создавших пользовательские роли?

Помогите оценить !!Большое спасибо

Ответы [ 2 ]

3 голосов
/ 14 июля 2010

Похоже на следующее:

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;
}
2 голосов
/ 14 июля 2010

Рекомендуется не проверять, есть ли у пользователя определенная роль, но есть ли у пользователя определенное разрешение. Это базовое правило безопасности: оно не о том, кто вы есть, а о том, что вам разрешено делать.

Переменная $ is_admin немного сбивает с толку, поскольку имя предполагает, что она проверяет определенную роль. Однако код, который опубликовал Кевин, показывает, что $ is_admin на самом деле проверяет разрешение.

...