【问题标题】:Allow anonymous users to edit their content? Drupal module, ideas [closed]允许匿名用户编辑他们的内容? Drupal 模块,想法 [关闭]
【发布时间】:2010-07-27 23:17:42
【问题描述】:

我在 drupal 中有一个自定义内容类型,我什至允许匿名用户创建它。我还想让他们能够在他们首次发布作品后回来编辑他们的作品,但这就是挑战。

由于它们是“匿名的”,我猜drupal 权限系统无法将内容与最初创建它的用户联系起来。

这让我何去何从?我在考虑浏览器cookie或类似的东西?我不确定。

是否有现有的模块可以帮助解决这个问题,或者有创建新模块的想法?

【问题讨论】:

    标签: php drupal content-management-system


    【解决方案1】:

    您可以将 ID 存储在 cookie 中,但如果用户将其删除,则无法再识别它们。您也可以记录 IP 地址,但这也不是 100% 可靠的。

    唯一可靠的方法是拥有某种登录系统。您可以将内容编辑作为一项功能提供给愿意注册的人。

    【讨论】:

    • 我大体上同意这个答案,但想想我们就在这个网站上。您无需注册即可编辑您的问题和答案。
    • 是的,但是开箱即用,Drupal 不能像 SO 那样与用户一起工作。所以提前想到了这一点。
    • 他们将使用 cookie 和/或 IP 地址检查的组合。删除您的 cookie 并通过匿名冲浪网站进入,看看您是否仍然可以在不登录的情况下编辑您的帖子;)
    • 澄清一下,对于这个用例,用户将有动机不清除他们的 cookie 等。他们会被告知这是网站跟踪他们并允许他们编辑的方式,他们会了解在未注册的情况下添加内容的风险。
    • 好吧,好吧,如果你想告诉他们关于 cookie 的事,那么当然,去吧。如果 cookie 不存在,您真正需要做的就是为用户生成一个唯一的 ID,并使用该值设置 cookie,并保留与之关联的 post id 和 cookie id 的 db 或 flatfile 列表。当用户访问您的网站时,检查他们的 cookie 并允许他们编辑与 cookie ID 与您的帖子列表中的内容匹配的任何帖子。
    【解决方案2】:

    实际上,在 Drupal 或任何系统中.. 最好依靠密钥,根据经验,让他们更容易注册。在 Drupal 中,如果一个人是匿名的,那么他们的 UID 为 0,关于他们的其他信息也没有多少。另一位用户在另一篇文章中指出,Drupal 不会跟踪匿名用户对象的会话 ID,因此您必须使用 session_id() 之类的东西。

    我明白你为什么不希望发布任何障碍,但以后可能会成为管理方面的噩梦。

    【讨论】:

    • 我明白为什么现在工作量更大,但您能否详细说明为什么“以后”会成为管理噩梦?
    【解决方案3】:

    与其尝试保留会话(如果您问我,这违背了匿名的目的),不如让用户在创建密码时创建密码呢?然后,添加一个验证处理程序,如果节点不是新节点,则检查他们是否提供了正确的密码。

    您可以使用CCK Password Field 模块为密码添加CCK 字段,或使用hook_form_alter 直接修改node_form 并在自定义模块中提供您自己的CRUD。哎呀,匿名编辑访问可能不需要那么安全,您可以只使用 CCK 文本字段来存储密码。

    【讨论】:

    • 我认为这完全没有违背匿名的目的。对用户来说,匿名意味着我不想费心注册和确认我的电子邮件。 Drupal 决定匿名。他们本可以将其称为未注册,这将是同一回事。我想为那些懒惰的用户提供编辑他们内容的能力。当然,我给他们的保证很小,因为他们给了我一个很小的承诺。
    • 将匿名定义为懒惰的人是对匿名的非常狭隘的定义。有几种不同的情况仍会被视为匿名使用,但不会保留会话:使用匿名器或从不同位置访问站点以命名两个。这就是 Drupal 将匿名视为一个用户的原因:如果您正在跟踪会话,它就不再是匿名的。强制注册或执行我建议的操作可以使会话或用户跟踪明确、稳定,并且不会让“匿名”这个词引起争论。
    【解决方案4】:

    虽然这是一个旧线程,但添加我对此的了解:

    节点授权链接看起来是一个有趣的模块,可以做到这一点。它创建授权(用于查看/编辑/删除)密钥,可以通过电子邮件作为链接通过电子邮件发送给匿名用户。

    http://drupal.org/project/node_authlink

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      相关资源
      最近更新 更多