繁体   English   中英

Drupal自定义节点访问

[英]Drupal Custom Node Access

我在Drupal中需要一些复杂的节点访问权限,因此我决定扮演自己的模块。 我需要查看哪些挂钩才能允许访问节点。 你有什么例子吗?

您只需要hook_access

如果要对所有节点进行访问控制,则可以做一些调整。 您可以使用hook_menu_alter将自定义访问控制功能添加到“ node /%node”。 它可能看起来像这样:

function module_menu_alter($items) {
  $items['node/%node']['access callback'] = 'module_node_access';
}

function module_node_access($op, $node) {
  if ($special_case) {
    return FALSE;
  }
  elseif ($special_case_2) {
    return TRUE;
  }
  // Default, let Drupal handle it.
  return return node_access($op, $node);
}

这在Drupal 6中有些痛苦hook_access只能调整对其所属模块创建的节点类型的访问,而hook_node_access在Drupal 7中是新的。

不幸的是,我为此找到的最佳解决方案是通过一个核心补丁,该补丁向hook_nodeapi添加了一个access操作。 详细信息可以在这里找到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM