【问题标题】:Drupal wrongly allowing access for anonymous users to a single edit pageDrupal 错误地允许匿名用户访问单个编辑页面
【发布时间】:2011-06-23 00:19:40
【问题描述】:

我的 Drupal / ubercart 安装有一个奇怪的问题。匿名用户只能访问单个节点的编辑页面 /node/44/edit - ubercart 产品。我创建了一个新版本的节点,它没有问题。匿名用户也可以在产品页面上使用标签(查看/编辑)。当页面被垃圾邮件机器人编辑时,问题变得清晰。

有什么方法可以将 Drupal 做出的决策过程输出到屏幕上?例如,我可以将变量输出到 Drupal 用来决定用户是否可以访问给定 URL 的屏幕上吗?

提前致谢。

【问题讨论】:

  • 你在使用提供node_access规则的模块吗?
  • 我以前也遇到过这个问题...如果您使用的是 node_access 之类的东西,则必须小心。特别是如果您有让作者编辑自己的内容的设置。一旦用户被删除,他们创建的任何节点都会恢复为 uid=0(匿名)。因此,他们可以随后编辑该节点。
  • 感谢大家的帮助 - 这些建议非常有助于我解决问题。 Mikesir87,这是一个很好的建议。我没想过要检查节点的作者(doh!),这确实是空白的(所以匿名)!我不知道这是怎么发生的,因为它肯定是由注册用户创建的,所以现在需要找出是什么原因造成的。我知道的内容编辑器没有被删除,但是我会检查一下。如何确定我是否在使用 node_access?我认为这意味着来自 API,而不是 nodeaccess 模块(我没有使用 mod)。再次感谢。

标签: drupal ubercart content-management


【解决方案1】:

可能有更好的方法,但首先,您可以创建一个实现hook_menu_alter 的自定义模块,然后转储 $items 数组的内容,以查看与 /node/44/edit 或/node/%/edit.

【讨论】:

    【解决方案2】:

    要尝试的一件事是“重建节点权限”您可以从 admin/content/node-settings 页面执行此操作。这可能就像提升权限一样简单,这种情况很少见,但有时确实会发生。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多