【问题标题】:How do I give a specific user editing rights to a specific node?如何授予特定用户对特定节点的编辑权限?
【发布时间】:2010-02-18 13:51:08
【问题描述】:

如何赋予特定用户对特定节点的编辑权限?

我有一个名为“学生”的用户角色。多个用户具有该角色,只有少数人可以编辑节点。我怎样才能意识到这一点?

【问题讨论】:

    标签: drupal drupal-permissions drupal-roles


    【解决方案1】:

    我将尝试介绍一些用例,以及我将如何解决它们:

    1. 如果某个用户类别的所有成员都可以编辑某个类型的任何节点
      • 为该用户子集创建一个新角色(“超级学生”,正如 Emyr 建议的那样)并通过 Drupal 的核心权限系统授予他们“编辑类型内容”权限(无需节点访问模块)
    2. 如果某个用户类别的所有成员都可以编辑特定节点
      • 为该用户子集创建一个新角色并授予他们对特定节点的编辑权限(需要节点访问模块,例如Node AccessContent Access)。这还需要有人有权(和时间)在创建新节点时授予对角色的访问权限。
    3. 部分用户可以编辑部分节点;没有可以编辑所有节点的“精英”用户组,并且并非所有成员都可以编辑相同的节点
      • 这将需要一个节点访问模块,例如节点访问或带有 ACL 的内容访问。还需要有权限授予其他用户编辑节点的权限的管理用户。
    4. 允许用户授予其他人编辑他们创建的节点的权限。
      • 我最近使用用户参考 CCK 字段和Node Access User Reference 实现了这一点。您可以通过核心权限系统授予用户编辑自己节点的权限,然后他们可以将其他用户添加到用户参考字段。在我的情况下,创建者没有获得该权限,我将该字段的默认值设置为创建者的用户 ID,这允许用户将自己从编辑节点中删除。

    这些都假设您的内容没有分类。如果您的内容和用户组织得当,您也许可以使用基于分类或有机组的节点访问模块。

    【讨论】:

      【解决方案2】:

      对于诸如此类的异常权限的事情,我一直发现一个小的自定义模块是要走的路。通用节点访问模块必须足够通用,才能对许多不同的情况有用,这通常会使它们有点混乱和混乱。

      对于这个特定的,您可以创建一个实现 hook_nodeapi 的模块并在 $op==prepare 上,根据您的用户参考检查用户 ID,如果不匹配,则执行 drupal_goto 拒绝访问页面。

      【讨论】:

        【解决方案3】:

        您可以使用Flexi Access 执行此操作。授予特定用户对节点的“更新”权限将允许他编辑该节点。

        有关更多选项,请参阅页面:Overview of Node Access modules@Drupal.org。

        【讨论】:

          【解决方案4】:

          您尝试过Node AccessContent Access 吗?

          【讨论】:

          • +1 用于内容访问,在我使用过的两个网站上运行良好。
          【解决方案5】:

          如果只有一个子集应该能够编辑节点,您需要一个额外的“超级学生”角色。

          Node Access 模块可以帮助您在节点上设置适当的权限。以下是其项目页面的摘录:

          ... 为菜单、菜单项、节点和管理和帮助系统的安全集成提供角色和用户特定的安全权限。我们希望将这套模块返回给社区,以分享该套件的实用性,并让社区参与进来,以提供额外的支持、测试和审核。 特别注意确保权限管理的可用性在系统的所有部分(节点、菜单、菜单项)中保持一致。此外,每个安全模块都使用级联安全方案来允许全局安全性以及覆盖或定义单个项目的安全模型异常的选项。

          【讨论】:

          • 我使用了 NodeAccess。我的内容类型中有一个用户参考,因此我可以选择连接到它的用户。这样它应该可以工作,但它没有,我猜模块已经过时了。
          猜你喜欢
          • 1970-01-01
          • 2011-03-24
          • 1970-01-01
          • 1970-01-01
          • 2021-07-29
          • 2019-11-15
          • 2013-01-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多