控制对单个节点的访问的最佳方法

时间:2011-11-15 18:17:19

标签: security drupal

我是愚蠢还是Drupal有一个很大的缺陷? (可能是前两者......)

我建立了一个包含一些公共内容和一些私人内容的网站。问题是,即使菜单可以被公众,未经授权的用户隐藏,也不会阻止访问者只输入node / 5(如果node / 5是私有隐藏页面之一)。

令我感到困惑的是,这是多么麻烦。没有基本的功能来解决这个问题,并尝试了两个模块simple_access和access_control它们都不起作用!目前正在尝试修复一个drupal 6网站。有关可能修复此非常基本功能的模块的任何建议? Drupal是不是要处理有外部页面和内部敏感内容的公司页面?

顺便说一句,Drupal 7处于.9阶段,仍然有非常有限的模块可用性,大多数都处于alpha阶段并且一直都是永远的,D7是否没有开发?

3 个答案:

答案 0 :(得分:2)

为您解决问题的模块是Nodeaccess;这是模块页面的开头文字:

  

Nodeaccess是一个Drupal访问控制模块,提供对节点的查看,编辑和删除访问。拥有“授予节点权限”权限的用户将在节点页面上拥有一个授权选项卡,允许他们通过用户或角色授予对该节点的访问权限。

这样就可以完全按照自己的意愿行事。 Drupal的访问系统的工作方式也意味着任何指向用户无权访问的节点的菜单链接都不会为该用户显示。因此,您甚至不必再隐藏菜单项,Drupal将为您完成:)

关于Drupal 7贡献的模块,'主要'模块(视图,CTools,Devel等)都很好地存在并且在RC或至少beta中是稳定的。因为Drupal是开源的,所以较小模块的唯一维护者可能没有时间投入使用Drupal 7版本以及维护v6模块(很多人仍然使用D6并且仍然存在问题)。

就我个人而言,我现在已经开发了很多D7网站,并且已经找到了可用的模块,并且质量很高(大部分都是这样)。我想这只取决于你在一天结束时需要的具体功能。

答案 1 :(得分:2)

我认为您的期望与Drupal实际工作方式之间存在差距。

Drupal不会根据内容是否在菜单中限制对内容的访问。在拥有数千个节点的网站上,拥有数千个项目的菜单将是压倒性的。

Drupal拥有丰富的节点访问系统,并且有许多模块可以帮助解决这个问题。有关您可能使用的建议,请参阅content access control模块列表。

当我遇到模块的特定问题时,我倾向于采取以下几个步骤:

  • 重新阅读README.txt文件和INSTALL.txt文件
  • 重新阅读项目页面,看它是否链接到任何进一步的文档
  • 阅读项目的问题,看看是否有任何类似问题的描述(点击项目页面右侧边栏中的数字链接)
  • 创建一个新的测试站点,我唯一安装的是有问题的模块,然后完成我认为应该执行的步骤,将项目问题队列中的新问题记录为“支持请求”,然后以“预期结果”和“实际结果”结束帖子 - 维护人员通常会在几天后回来

答案 2 :(得分:0)

nodeaccess模块​​(http://drupal.org/project/nodeaccess)应该适合您。