我想从用户列表中隐藏某个用户(具有完全权限的技术管理员)。因为admin(另一个管理员拥有较少的权限)不会从用户列表中删除此管理员。虽然管理员可以从网站删除其他用户。 怎么做?
答案 0 :(得分:0)
尝试http://drupal.org/project/userprotect。
管理员用户权限存在问题并且授予太多权限是一般性问题。
答案 1 :(得分:0)
使用视图复制用户列表并在“Nid!= [隐藏用户的ID]”上设置过滤器。
答案 2 :(得分:0)
你可以改变你的观点。转到视图>管理:用户>编辑。然后在FILTER CRITERIA>添加>用户:角色。在Operator
中选择Is none of
并选择要隐藏的角色(管理员),点按“应用并保存”。完成!
奖励:您还可以通过在自定义模块中创建hook_form_alter()
来隐藏此用户角色(添加新用户)。像这样:
/**
* Implements hook_form_alter().
*/
function MyModule_form_alter(&$form, &$form_state, $form_id) {
//to get the current user role
global $user;
$user_roles = $user->roles;
//use devel to find the user role, which you wish to hide
//dsm($form);
switch ($form_id) {
case 'user_register_form':
if (!in_array('administrator', $user_roles)) { // hide this only if the current user role is not administrator
unset($form['account']['roles']['#options'][3]);
}
break;
}
}
这将在您创建新用户时隐藏administrator role
。您应该按照相同的方式将其隐藏在用户编辑表单中。