为更改用户帐户而非管理员创建角色 -- 7 领域 和 users 领域 drupal 相关 的问题

Create role for changing user accounts and not admins


0
vote

问题

中文

我正在为客户开发一个文档网站。该网站可以选择谁可以注册帐户?设置为访问者,但需要管理员批准
因此,目前仅管理员(User1)正在进行用户批准过程。

我们的客户有一个客户服务团队,目前处理此帐户审批程序。所以,如果我创建一个新角色(例如,假设主持人)并授予IT权限来管理用户(阻止/解锁,更改特定用户的角色),那么它们还将能够修改管理员用户的帐户;这是预期的。

有没有办法(任何模块或任何一个),以限制主持人只能管理几个角色而不是管理员的角色?有没有其他方法来做这件事?

我正在寻找类似于这个沙盒项目,但我想要不同的权限集。

英文原文

I am developing a documentation site for a client. The site has the option of Who can register accounts? set to Visitors, but administrator approval is required.
So, currently only Admin(user1) is doing the user approval procedure.

Our client has a customer services team which handles this account approval procedure currently. So, if I create a new role (say moderator) and give it permission to administer users (blocking/unblocking, changing role of a particular user), then they will also be able to modify admin users' account; and this is not expected.

Is there a way(any module or either) to restrict moderators to administer only few roles and not admins' role? Is there any other way to do this?

I am looking something similar to this sandbox project, but I want different set of permissions.

     

回答列表

1
 
vote
vote
最佳答案
 
据我所知,接受的解决方法不安全。它不会阻止通过直接URL编辑管理员帐户,例如用户/ 2 /编辑。

也许尝试用户保护模块:

本模块允许用户管理员的细粒度访问控制, 通过为用户提供各种编辑保护。保护可以 特定于用户,或应用于角色中的所有用户。

 

As far as I can see, the accepted workaround is not secure. It would not prevent editing the administrator account via direct URL such as user/2/edit.

Maybe try the User Protect module:

This module allows fine-grained access control of user administrators, by providing various editing protection for users. The protections can be specific to a user, or applied to all users in a role.

 
 
2
 
vote

这个模块可能是您的寻找。 http://drupal.org/project/administerusersbyrole

与之相关,您将获得任何角色以更改任何其他角色的权限。这是一个在权限页面上的屏幕截图。

输入图像描述

 

This module might be what your looking for. http://drupal.org/project/administerusersbyrole

With it you will get permissions for any role to change any other role. Here is a screen shot of it in action on the permissions page.

enter image description here

 
 
 
 
2
 
vote

有角色_delegation 稳定为d7。

此模块允许站点管理员授予某些角色 权限为用户分配所选角色,无需它们需要的 管理权限许可。

 

There is role_delegation stable for D7.

This module allows site administrators to grant some roles the authority to assign selected roles to users, without them needing the administer permissions permission.

 
 
 
 
0
 
vote

周围的工作:
我创建了一个新角色 manager ,他们将管理用户管理(批准阻塞的待处理用户,具体取决于他们的标准)。

我给出了"管理用户" 权限对此作用。在 admin / people 中使用了一个hook_form_alter来隐藏带有管理用户权限的用户列表。

  function MODULE_form_alter(&$form, &$form_state, $form_id) {     if ($form_id == 'user_admin_account') {         global $user;          if(!in_array('administrator', $user->roles)) {                       $result = db_query("select uid from {users_roles} where rid=3"); //rid=3 for administrators              foreach($result as $temp) {                 unset($form['accounts']['#options'][$temp->uid]);             }         }        }    }   

这种方式只有管理员角色的用户将能够编辑其他管理员:)
任何建议或反馈都会受到高度赞赏。

 

Work around:
I created a new role Manager who will manage the user administration (approval of the pending users who are blocked, depending of their criteria).

I gave "Administer users" permission to this role. And in admin/people used a hook_form_alter to hide the list of users with administer users permissions.

function MODULE_form_alter(&$form, &$form_state, $form_id) {     if ($form_id == 'user_admin_account') {         global $user;          if(!in_array('administrator', $user->roles)) {                       $result = db_query("select uid from {users_roles} where rid=3"); //rid=3 for administrators              foreach($result as $temp) {                 unset($form['accounts']['#options'][$temp->uid]);             }         }        }    } 

This way users with only administrator role will be able to edit other administrators :)
Any suggestions or feedback would be highly appreciated.

 
 
0
 
vote

你看到了高级用户模块?这允许过滤用户列表并在块/解压缩时对其进行操作。从其项目页面的详细信息:

高级用户模块允许基于user.module字段过滤用户和可选的配置文件。可以使用模块设置配置可用于过滤的字段。例如。站点管理员可以搜索1000多个用户来显示未访问其帐户的所有用户。

一旦过滤了具有所选公共大致母线的用户组,模块可用于执行电子邮件,块,解锁,添加或删除角色或删除的功能。另一个很好的功能是能够通过电子邮件,用户帐户创建或配置文件更改通知管理员或其他角色。

 

Did you see the Advanced User module? Which allows to filter users list and apply action on them like block/unblock. Details from its project page:

The advanced user module allows the filtering of users based on the user.module fields and optionally the profile.module fields. The fields available for filtering can be configured using the module settings. Eg. Site admin may search through 1000s of users to display all users who have not accessed their account.

Once the group of users with selected common denominators are filtered, the module can be used to perform functions that email, block, unblock, add or remove roles, or delete. Another nice feature is the ability to notify administrators or other roles, by email, of user account creation or profile changes.

 
 

相关问题

3  用户注册后实现回调  ( Implementing a callback after user registration ) 
我想在用户注册后在另一个CRM数据库中运行数据库查询。我的Sugar_crm模块中有以下功能,例如: function sugar_crm_user_register_submit($form, &$form_state) { // some code to run a database q...

3  如何在自动完成期限参考字段中使用翻译分类系统?  ( How to use a translated taxonomy in autocomplete term reference fields ) 
当我将分类物转换为其他语言时,我不能在自动完成术语参考字段中使用它。 自动完成字段将仅以默认语言显示项目;如果我尝试从另一种语言填充表单,请在键入时在该字段中显示。 它只发生在我使用自动完成小部件时发生。 我正在使用drupal 7.15。 ...

1  级联分类学期选择小部件  ( Cascading taxonomy term selection widget ) 
说实话,我不确定级联是否是正确的术语,如果不是那么那么它可以在将来编辑以获得清晰度。 我需要一个分类学期小部件,这是一个下拉列表,最初填充的所有列表都是与小部件相关的特定词汇表中的顶级分类术语。选择顶级术语后,旁边添加另一个下拉列表(使用所选术语的所有子项,添加了另一个下拉列表。然后禁用父下拉列表。 您应该能够单击链...

0  将“标题”字段添加到视频模块中的视频缩略图  ( Adding a title field to video thumbnails in the video module ) 
我想将文本字段字段附加到视频字段。我如何通过编程方式进行这件事? 如何附上字段的字段? ...

6  Drupal 7场性能  ( Drupal 7 field performance ) 
我创建了一个> 50字段的内容类型。我注意到每个字段都有一个相应的表。 Drupal加入50个表,以便使用所有指定内容加载页面? 将大量(但不是不必要的)字段,导致性能明显减少? 提前感谢您的答案。 ...

6  如何在单个自定义字段窗口小部件上#ajax在多个元素中?  ( How can i ajax in multiple elements on a single custom field widget ) 
我创建了一个有3列 - 产品,颜色和数量的自定义字段类型。 理想情况下,用户只能看到1下拉目,从中挑选<强>产品。然后挑选产品,然后加载仅显示该产品的<强>颜色的第二下拉目。然后,挑选颜色应显示一个文本字段,其中用户可以输入数量。如果用户选择不同的产品,则第二下拉目将重新加载该产品可用的颜色。 在正常的fapi形式...

1  如何保留字段中的相关节点的特定字段值的总和?  ( How do i keep the sum of related nodes specific field values in a field ) 
我有两种不同的内容类型:"父" 和"child" 。 在父节点上,有一个多值参考字段,其中我保留了这个节点的一些子节点。每个子节点都有一个字段"整数" ,我会保留一些整数值。 我想要的是将父节点的所有子节点的整数值的总和保留在字段中"sum" 中的所有子节点。 所以我将有: 父级1(SUM = 11) 儿童一个(...

0  每次创建新用户时,如何防止Drupal向管理员发送电子邮件  ( How do i prevent drupal from sending an email to the admin every time a new user ) 
我从另一组继承了Drupal 7站点的维护。目前,每次创建新用户帐户时,管理员都会发送一封关于它的电子邮件。管理员想要这个禁用。 我无法找到发送电子邮件的内容。它没有工作流规则,触发模块被禁用。管理员通知没有任何设置新用户的设置,并且访问者不需要管理员批准以创建帐户。 我所做的一些研究表明,这是垂直核心功能,没有附加...

2  从Drupal 6到7的嵌入式媒体字段的升级路径是什么?  ( Whats the upgrade path for embedded media field from drupal 6 to 7 ) 
我发誓我已经尝试了一切,这是一件让我从推出升级网站推出的最后一件 - 我的大多数节点都有Emfields的视频和/或音频。 每次遇到和中止导入时,直接内容迁移路由保持丢失错误。我编辑了模块,将错误消息发送到看门狗而不是屏幕,但它仍然不起作用 - 它在DB中创建表格,但它们为空。 有人在那里必须达到这一点.........

3  在内容类型页面上打印函数?  ( Printing a function on a content type page ) 
因此,如果我在 template.php 中具有db查询的自定义函数,例如 function innovista_get_page_children() { $result = db_query("SELECT link_path FROM {menu_links}"); return $result; ...

0  Feed将许多字段导入单个内容类型  ( Feed import many fields into single content type ) 
我有一个内容类型,我想从CSV文件导入一些SiteNames和SiteURL。因此,基本上创建了一个节点类型,其中包含选项来导入CSV文件,以填补一个项目下的现场类型和站点urls,其中一个项目或任何其他解决方案需要帮助 设置:drupal 7,视图2,feeds ...

1  Drupal 7字段CSS  ( Drupal 7 fields css ) 
我正在遇到我正在开发的内容类型的css。这是我想要完成的原因: 字段名称= Appetizers 值1 = appetizer1 name <div class="field-item even"> 值2 = Appetizer1 Price <div class="field-item odd"> ...

3  从带有Entity_Metadata_Wrapper()的节点上的日期字段中获取单个日期值  ( Get a single date value from a date field on a node with entity metadata wrapper ) 
我想从附加到带有entity_metadata_wrapper的节点的日期字段中检索日期值。 到目前为止: $node_wrapper->field_tournament_date->value(); 提供阵列。没有许多其他方法工作。所以,我必须做: $date = $node_wrapper->fie...

0  内容相关链接  ( Related links for content ) 
在我的文章页面中我在右侧列中有相关链接。 在Drupal管理时,编辑内容时,我希望拥有一个"相关链接" 部分,该部分用复选框打印当前站点上的内容列表,因此用户可以选择哪些页面应显示为相关的页面。 我是笨拙的开发新的,但是在使用php / mysql和写作模块的情况下有经验,用于其他内容管理系统。 我应该走哪步骤来实现...

1  在地图中显示路线[已关闭]  ( Showing routes in maps ) 
此问题似乎在帮助中心中定义的范围内涉及Drupal。。 想要改进这个问题?更新问题,所以它是关于drupal答案的主题。 ...

1  如何自动分配节点参考值D7  ( How to auto assign node reference value d7 ) 
我有一个字段的用户配置文件: 日期字段:"出生日期" (格式:Y-M-D) 节点参考字段"card_ref" ,应该自动引用内容类型"卡" 节点。 (用户无法更改它仅查看它) 和内容类型"卡" : 标题字段 日期字段(多个值,格式:m-d) 所以我想对现有节点"卡" 进行自动引用,这些节点"卡" 具有相同的日...

2  通过代码身份验证编辑节点  ( Edit a node via code authentication ) 
我正在创建一个网站,我必须为匿名用户提供更新节点的可能性。通过使用代码来识别该节点,当第一次保存节点时,我向用户发送到用户的代码。当我保存此节点(第一次)时,将修改节点以确保它由用户X拥有而不是匿名。好的,有点复杂,但这些是我客户的请求。 所以,我向用户发送邮件,将此行发送到: http:// dominio。 Ex...

4  根据添加到URL的参数,更改节点的主题方式  ( Change the way a node is themed based on an argument added to a url ) 
我目前正在尝试消除我对我正在处理的网站的面板模块的需求,并且没有大量的PHP体验。我如何改变基于添加到URL的参数显示节点的方式? (例如 http://example.com/node/123/argument 。)我已经拥有了节点类型主题,但我需要基于参数以不同的形式显示节点。谢谢你的帮助,为你的帮助。 ...

5  使用Drupal API获取来自数组的节点值?  ( Get node values from array with drupal api ) 
使用drupal api,我发现您可以使用noad_load获取节点的值: $thisnode = node_load($nid = $child2, $vid = NULL, $reset = FALSE); 现在很容易以这种方式回应标题 $thisnode->title; 但是当我尝试从自定义...

7  jQuery Get或Post Method for Drupal Block模块  ( Jquery get or post methods for drupal block module ) 
可以使用jQuery Get或Post方法来获取Drupal7.x块模块中的数据动态。我是一个新手司法。 这是我的event_calendar.module文件 function event_calendar_help($path, $arg) { switch ($p...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.