Drupal权限,一个用户案例
Posted
技术标签:
【中文标题】Drupal权限,一个用户案例【英文标题】:Drupal permission, a user case 【发布时间】:2010-12-02 03:48:40 【问题描述】:该网站的目标是维护product
列表。
product
都由一个title、description 和quantity(CCK 字段)组成。
每个product
都属于一个shop
。
每个shop
都有一个manager
。
所有products
对所有人可见。
manager
只能添加/编辑自己的products
的shop
。
网站admin
可以创建新的shops
和新的managers
。
如何设置上述场景的权限?
我正在考虑使用Taxonomy
用于商店名称,Taxonomy Access Control 用于权限控制。不确定我是否走在正确的轨道上……
另外,Organic Groups 也是一个选项吗?
谢谢!
【问题讨论】:
好问题。这是我没有体验过的 Drupal 的一个方面。我期待着答案。 【参考方案1】:TAC 可以解决您的问题。我在一个非常相似的场景中使用它。设置方法如下:
-
使用您指定的字段创建新的内容类型“产品”
为每个商店创建一个分类术语。对“产品”内容类型启用并要求分类法
为每个店铺创建一个角色
为该角色启用 TAC
将全局的 TAC 权限设置为允许查看,但拒绝更新、删除、创建和列出。
为商店期限设置 TAC 权限以允许查看、更新、删除、创建和列出。
保存和重建权限
应该这样做,只要您对内容类型的权限设置为允许匿名用户查看“产品”中的字段。
【讨论】:
【参考方案2】:我认为您使用分类访问控制的方法可能可行,但将用户分配给分类以获得适当的权限需要一些自定义代码。
使用有机群组可能会提供更强大的开箱即用访问(每个商店都是一个群组,然后产品会在该群组中发布),但您需要取消很多默认主题才能隐藏论坛OG 开箱即用的 /wall-of-news 工作流程(这可以通过 OG 提供的挂钩来完成)。
这里的好处是,要将产品经理添加到商店,您只需让他们成为群组管理员(这样,商店可以拥有多个管理员)。您可以将每个组设置为公开(因此所有产品都可见),但仅将编辑组中节点的权限授予该组的管理员。组管理员也将是唯一有权创建产品节点的人,这些节点将设置为组节点(这是在节点类型编辑屏幕或 OG 管理屏幕上完成的)。
【讨论】:
以上是关于Drupal权限,一个用户案例的主要内容,如果未能解决你的问题,请参考以下文章
一个Oracle添加索引造成其他用户对此表的查询权限丢失的案例