节点访问流程 老葛的Drupal培训班 Think in Drupal 当要对节点进行某一操作时,Drupal将进入如图7-9所示的流程。 图7-9 判定是否允许对给定节点的访问 Drupal版本: drupal6 Read more about 节点访问流程
什么是领域(Realm)? 领域就是一个任意的字符串,它用于允许多个节点访问控制模块共享数据库表node_access。例如,acl.module是一个使用访问控制列表(ACLs)来管理节点访问的第三方模块,它的领域就是acl。taxonomy_access.module是另一个第3方模块,它基于分类术语来限制对节点的访问,它使用term_access作为领域。所以,领域就是在表node_access中标识你的模块空间的东西;它有点像命名空间。当需要你的模块返回许可ID时,你将从你模块定义的领域中返回它。 老葛的Drupal培训班 Think in Drupal Drupal版本: drupal6 Read more about 什么是领域(Realm)?
定义节点授权(Grants) 老葛的Drupal培训班 Think in Drupal 有三个基本的权限,对应于节点之上的三种操作:查看、更新、删除。当这些操作中的一个将要发生时,如果一个模块实现该节点类型,将首先使用这个模块里面的函数node_access()。如果该模块没有定义是否允许访问的话(也就是说,它返回了NULL,而不是TRUE或FALSE),Drupal将向所有应用于节点访问控制的模块询问,这个操作是否应该被允许进行。通过使用hook_node_grants(),为每个领域(realm)每个用户得到一个授权(grant)ID列表,来完成这一工作。 Drupal版本: drupal6 Read more about 定义节点授权(Grants)