如何让用户A为博客A写博客文章,而不是写博客B.

时间:2011-02-08 01:45:39

标签: drupal drupal-modules

我正在寻找一种模块/技术,让我限制允许用户A在博客A上写,但不能在博客B上写。但是,用户B可以在博客A和B上写,但不能写C.但基本上,它需要灵活......但是,它证明是困难的。有没有人碰到这样的事情?哦......并且每个人都不能使用不同的角色。所有作家都有相同的角色。

我最初的想法......

  • 创建名为Blog的内容类型,其中包含允许写入的用户引用字段。
  • 创建一个Blog Post内容类型,该类型具有引用该用户的博客的节点参考(使用视图选择节点)。

这将使得用户A只能在博客A上书写,但它不会阻止用户A在博客B上打开博客帖子并进行编辑。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

由于您不想使用RBAC模型来执行此操作,因此您只需创建一个包含所有权限的表,然后为您认为需要的任何人分配权限。权限表可以是:

权限(id,action)

示例:(1,'写A'),(2,'写B')......

然后您还有一个用户表,当然指定了您的用户。

最后,您创建一个user_roles表,如:

user_roles(user_id,permission_id)

你可以将任何权限传递给你喜欢的任何用户:)希望有所帮助。

编辑:哎呀,我刚才注意到这是关于drupal的。我的答案是关于数据库模型。对不起。

答案 1 :(得分:0)

我建议看一下http://drupal.org/project/forum_access如何处理它。该用例(仅具有查看,更新和/或创建特定论坛的权限)听起来与您的非常相似。也许http://drupal.org/project/tac_lite可能只是工作,但我不确定你是否可以让用户控制同样控制访问的分类。

特别是如果您还使用分类法来分隔您的博客。

因此,您可以拥有一个基本上是您拥有的所有博客列表的分类。然后配置允许哪些用户使用哪些条款。创建内容时,将分类限制为他们有权访问的术语(可能需要一些自定义代码,不确定)。一旦创建,他们只允许编辑那些允许“使用”的术语。这应该是开箱即用的tac_lite。