drupal 7限制单个节点的角色访问

时间:2014-02-24 13:14:38

标签: drupal-7 hook roles

我已经为不同的节点类型设置了具有角色访问权限的站点。 对于一个节点,我必须删除仅一个角色的de访问权限,其他人将保持不变。 因为该站点已经安装了许多模块,所以我更喜欢仅使用钩子函数而不是模块作为nodeaccess或内容访问。 有人可以建议钩子脚本吗?

1 个答案:

答案 0 :(得分:1)

这应该可以工作,根据需要调整操作,用户角色和节点类型:

function mymodule_node_access($node, $op, $account) {
    if (in_array('the role', $account->roles) && $op == 'view' && $node->type == 'article' && $node->nid == 42) {
      return NODE_ACCESS_DENY;
}
}

如果只是针对单个nid,您可以在条件语句中省略$ op和$ node->类型。

Documentation for hook_node_access