在 Plone 4.3 上发送响应后操作 cookie

Manipulating cookies after sending response on Plone 4.3

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

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

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

因为我使用的是 Plone 4.3/Zope 2.13,所以我想知道是否有办法不包含这个已弃用的包。

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

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

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

但函数从未被调用。

我发现了一些examples/codes(但仍然无法达到我的范围):

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

这有效:

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

不确定 IPubSuccess 是否是要使用的 "right" 界面。