drupal中几乎个个模块都会加上可选的权限管理, 但有些地方并不够精细, 所以也产生了很多的第三方权限管理模块. 试用了一些, 在这里总结一下.
这里说的"权限", 主要是指基于用户的对内容"增、删、改"的权限,以及是否可见。
1.drupal核心的权限管理
如图, 默认核心的权限管理中对用户对内容的"增、删、改"的控制是没问题的, 但对内容是否可见, 只能做到整体的控制,一改变就是改变整个网站已发表内容对某角色是否可见. 这可能在很多情况下不能满足需求, 所以产生了很多第三方模块...
2.ACL模块(权限控制接口)
官网链接:https://www.drupal.org/project/acl
ACL是Access Control Lists(数据控制列表)的简写, 它并没有可视化的UI, 主要分享了权限管理的API, 第三方的权限管理模块都依赖于它.
除了这个权限管理的API模块不是测试版, 其它的权限管理模块很多都是测试版本, 从侧面也可以看出权限管理相对是比较复杂, 会牵扯到的东西比较多.
同时也感觉, 用的模块越来越多, 内容类型越来越多时, 出现问题就先找权限管理的.(个人感觉)
3.Content Access模块(基于内容类型的权限管理)
官网地址:https://www.drupal.org/project/content_access
功能上主要增加了对能容类型的控制, 也可以对单个节点打开权限控制. 可以解决大多数的权限问题.
4.Field Permissions模块(基于字段的权限管理)
官网链接: https://www.drupal.org/project/field_permissions
在内容类型中可以控制字段的权限.
5.Taxonomy Access Control模块(基于分类的权限管理)
官网链接:https://www.drupal.org/project/taxonomy_access
这个模块可以基于某个"术语"进行权限控制. 比如可以加一个"付费"的术语(不过建议新建一个词汇表),对不同用户进行权限配置.
配置地址xxx.com/admin/config/people/taxonomy_access
选择你要配置的用户,比如"注册用户".
配置"注册用户" 对 "付费" 这类内容的权限.
6.Taxonomy Term Permissions模块(好像和上个模块有相似的地方,都是基于分类的)
这个模块没试
Lugir有些这个教程: http://lugir.com/drupal/module/term_permissions.html
7.Forum Access模块(论坛权限管理)
官网地址:https://www.drupal.org/project/forum_access
这个也没试用, 看说明不但可以控制论坛中的用户权限, 还可以选择谁是版主, 和版主的权限.
8.Flexi Access模块(基于单个节点和单个用户的权限管理)
官网地址:https://www.drupal.org/project/flexiaccess
这个也没试用过, 这个看起来似乎很强大, 做到了点对点的权限管理, 不过看图片是手动的加用户的, 不知道能不能做类似MP3播放权限的控制, 订阅某一首MP3就自动加用户, 视乎要开发.
不过就算可以, 随着node的增加, 和用户的增加, 这个数据量的增加可是指数的爆炸式的, 觉得一般的数据库很快就挂掉.
不过, 可能作为内部不太多人员时的文件的分用户管理可能不错. 用过的回复一下.
可能还有其它的权限管理模块, 希望您能补充.