【问题标题】:Drupal User Permissions, Only Allow Specific Users to Edit Specific PagesDrupal 用户权限,只允许特定用户编辑特定页面
【发布时间】:2010-06-14 20:49:28
【问题描述】:

我知道我可以设置一个角色以允许用户仅编辑他们自己的页面,然后将相应的页面标记为由相应的用户创作。但后来我遇到了每页有多个用户的问题。

有没有什么方法可以明确地只允许用户编辑某些(可能是多个)页面,同时在可能允许多个用户编辑同一页面的情况下考虑重叠?

谢谢

【问题讨论】:

    标签: drupal


    【解决方案1】:

    以编程方式执行此操作相当复杂,但一个相当简单的解决方案是创建一个词汇表以应用于页面,然后使用分类访问控制模块:http://drupal.org/project/taxonomy_access 根据术语设置权限。

    【讨论】:

    • 我建议使用 tac_lite,它不那么繁重,而且它可以灵活地配置个人用户,而不仅仅是角色。
    【解决方案2】:

    如果你只需要一个模块来设置用户对特定内容类型节点的访问权限,那么使用http://drupal.org/project/content_access;如果内容类型是书,也可以试试http://drupal.org/project/book_access
    请记住,应避免为访问控制安装不同的模块,因为它们往往会相互冲突。

    如果您有耐心,那么您可以创建自己的自定义模块,并按照 Jeremy 的建议实现 hook_node_access_records()hook_node_grants()

    【讨论】:

      【解决方案3】:

      【讨论】:

        【解决方案4】:

        几个月前我回答了一个类似的问题,概述了实现几种不同的访问场景:
        How do I give a specific user editing rights to a specific node?

        【讨论】:

          【解决方案5】:

          这也可以使用hook_nod_access_records()hook_node_grants() 以编程方式实现。

          使用钩子 node_access_record 创建一个包含您希望允许的用户的 UID 的 relm。并且在 hook grants 中创建一个与用户 uid 在同一个 relm 中的授权。它不是那么可怕而且非常灵活。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多