You are here

不使用ACL的方式,限制内容访问的Drupal模块restricted_text,Premium

g089h515r806 的头像
Submitted by g089h515r806 on 星期四, 2010-02-18 06:57

http://drupal.org/project/restricted_text

这个模块的方式,是添加了一个过滤器,在节点中提供了一个标签,用来根据角色限制内容的访问.

  • [restrict:roles=Editors]
  • [restrict:roles=Site 1,Site 2]
  • [restrict:roles=Programming Group,QA Department]

另外,他还提供了钩子,共其他模块实现对应的控制规则.模块下载地址: http://drupal.org/project/restricted_text

 

Premium: 根据用户的角色限制内容的显示,对于没有权限的用户,仍然可以看到标题和摘要.没有使用ACL的方式,它使用的是nodeapi的解决办法。

模块的下载地址:http://drupal.org/project/premium

它为每个节点都存储了一个Premium选项,因此效率是比较高的,适用于大的站点。这种方式是比较地道的解决办法。

在项目中遇到的问题,比如一个节点适用了ACL控制它的访问,那么没有权限的用户根本什么都看不到,包括这个节点的菜单项,都不会显示出来。

premium使用的更广泛一些。

 

Drupal版本:

评论

g089h515r806 的头像

我推荐使用PANELS+Ctools解决上面的问题,panels和Ctools里面的页面管理器模块,能够非常方便的解决上面的问题,而且比上面提到的更加灵活。

比如这样的需求:在一个论坛里面,有私密和公开的区别,对于私密的论坛,里面的帖子,只有 具有权限的用户才能看到其内容,同时帖子的作者也可以看到(帖子的作者不具有对应的角色)。如果不是帖子的作者,同时不具有对应的角色,那么就无法访问。

对于这样的需求,上面的两个模块,就无法解决了,但是使用Panels的上下文,后台通过配置就可以解决自己这样的问题