【问题标题】:Manipulating cookies after sending response on Plone 4.3在 Plone 4.3 上发送响应后操作 cookie
【发布时间】:2015-08-20 09:44:27
【问题描述】:

我需要更改存储在 cookie 中的数据,或者在用户访问 Plone URL 时设置新的 cookie。

官方 Plone 文档在 Modifying HTTP response cookies 部分中包含我所需要的内容。

不幸的是,它似乎是一个已弃用的文档,因为它需要 plone.postpublicationhook 包,而不是 Plone 附带的,仅适用于 Zope 提供这个包是为了向后兼容。新代码应该直接使用 Zope 2.12 中引入的发布事件。”

由于我使用的是 Plone 4.3/Zope 2.13,我想知道是否有办法不包含这个已弃用的软件包。

我正在尝试使用 ZPublisher.interfaces 事件但没有成功。

我正在尝试这样的 ZCML 注册:

  <adapter
      factory=".mymodule.my_cookie_handler_function"
      provides="ZPublisher.interfaces.IPubSuccess"
      />

但该函数从未被调用。

我找到的一些示例/代码(但仍然无法达到我的范围):

【问题讨论】:

    标签: plone zope plone-4.x zope.component


    【解决方案1】:

    虽然我看到使用适配器的代码,但您似乎必须提供 subscriber

    这行得通:

      <subscriber
          handler=".mymodule.my_cookie_handler_function"
          for="ZPublisher.interfaces.IPubSuccess"
          />
    

    不确定IPubSuccess 是否是要使用的“正确”接口。

    【讨论】:

    • 在接受这是正确的之前,我希望有些人能解释一下如何使用适配器代替或这种方法之间的区别。
    猜你喜欢
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    • 2015-12-22
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多