代码之家  ›  专栏  ›  技术社区  ›  Paul

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

  •  8
  • Paul  · 技术社区  · 15 年前

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

    5 回复  |  直到 12 年前
        1
  •  14
  •   gapple    15 年前

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

    1. 如果用户类别的所有成员都可以编辑特定类型的任何节点
      • 为该用户子集创建一个新角色(“超级学生”,如Emyr所建议),并通过Drupal的核心权限系统授予他们“编辑类型的内容”权限(无需节点访问模块)
    2. 如果用户类别的所有成员都可以编辑特定节点
      • 为该用户子集创建新角色,并授予他们在特定节点上的编辑权限(需要节点访问模块,例如 Node Access Content Access ). 这还需要有人有权限(和时间)在创建新节点时授予对角色的访问权。
    3. 一些用户可以编辑一些节点;没有可以编辑所有节点的“精英”用户组,也不是所有成员都可以编辑相同的节点
    4. 允许用户授予其他人编辑其创建的节点的权限。
      • Node Access User Reference . 您可以通过核心权限系统授予用户编辑自己节点的权限,然后用户可以将其他用户添加到用户引用字段。在我的例子中,创建者没有获得该权限,我将字段的默认值设置为创建者的用户id,这允许用户删除自己编辑节点的权限。

    这些都假设您的内容没有分类。如果对内容和用户进行了充分的组织,则可以利用基于分类法或有机组的节点访问模块。

        2
  •  3
  •   Mike Crittenden    15 年前

    对于像这样的异常权限的东西,我总是发现一个小的定制模块是最好的选择。通用节点访问模块必须具有足够的通用性,以适用于许多不同的情况,这通常会使它们有点混乱和混乱。

    对于这个特定的模块,您可以创建一个实现hook_nodeapi和on$op==prepare的模块,根据您的用户引用检查用户ID,如果不匹配,则执行drupal转到拒绝访问页面。

        3
  •  2
  •   Free Radical    12 年前

    Flexi Access . 向特定用户授予节点上的“更新”权限将允许其编辑节点。

    Overview of Node Access modules

        4
  •  1
  •   Bevan    15 年前

    你也试过了吗 Node Access Content Access ?

        5
  •  0
  •   Pierre.Vriens Krzysztof J    10 年前

    如果只有一个子集可以编辑节点,则需要一个额外的“超级学生”角色。

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

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

    推荐文章