我们知道可以在Drupal 7自带的People当中配置权限,但是控制的粒度是有限的,比较粗线条,如何才能做到控制细度,还有就是静态权限和动态权限的控制?
粒度1:Content Type
粒度2:Nodes
目前支持上面粒度控制较好用的是使用Content Access Control模块,但是该模块的Drupal 7版本还不是很稳定,会出现一些异常,只能等待维护者快速修复这些问题了。此外可选的还有 ACL
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: type in content_access_admin_settings_submit()(line 180 of D:\PHPWeb\drupal-7.14\sites\all\modules\content_access\content_access.admin.inc).
- Notice: Undefined index: edit any content in user_role_grant_permissions()(line 3032 of D:\PHPWeb\drupal-7.14\modules\user\user.module).
- PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'module' cannot be null: INSERT INTO {role_permission} (rid, permission, module) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); Array ( [:db_insert_placeholder_0] => 3 [:db_insert_placeholder_1] => edit any content [:db_insert_placeholder_2] => ) in user_role_grant_permissions()(line 3034 of D:\PHPWeb\drupal-7.14\modules\user\user.module).
粒度3:Fields
目前支持该粒度控制的模块有Field Permissions(其他的暂时不知道),可以到如下的路径下去设置,可以设置可见性,权限:
You are here
其他可选的模块为:
Content Access
Flexi Access
Forum Access
Image Gallery Access
下面主要介绍Content Access Control的使用:
1.像其他模块一样安装,安装完成。
2.不像 Drupal'sdefault access control有单独的配置页面,Content Access Control只在具体的Content Type当中会有配置选项卡。:
可以进行相关的配置。
3.通过上面的示意图可见,也可以配置具体的Content Node的访问权限。