Skip to main content

Zope 的客户端识别和会话

项目描述

zope.session

最新发布的 支持的 Python 版本 https://github.com/zopefoundation/zope.session/actions/workflows/tests.yml/badge.svg https://coveralls.io/repos/github/zopefoundation/zope.session/badge.svg?branch=master 文件状态

这个包提供了客户端识别和会话支持的接口,以及它们对zope.publisher请求对象的 实现。

文档托管在https://zopesession.readthedocs.io/

变化

4.5 (2022-08-30)

  • 添加对 Python 3.5、3.9、3.10 的支持。

4.4.0 (2020-10-16)

  • 使用 zope.interface v5 修复不一致的分辨率顺序。

  • 添加对 Python 3.8 的支持。

  • 放弃对 Python 3.4 和 3.5 的支持。

4.3.0 (2018-10-19)

4.2.0 (2017-09-22)

  • 添加对 Python 3.5 和 3.6 的支持。

  • 放弃对 Python 2.6 和 3.3 的支持

  • 达到 100% 的代码覆盖率并通过 tox.ini 和 Travis CI 进行维护。

4.1.0 (2015-06-02)

  • 添加对 PyPy 和 PyPy3 的支持。

4.0.0 (2014-12-24)

  • 添加对 Python 3.4 的支持。

  • 添加对 Travis 测试的支持。

4.0.0a2 (2013-08-27)

  • 修复在 GMT 以东任何时区失败的测试

4.0.0a1 (2013-02-21)

  • 添加对 Python 3.3 的支持

  • 用等效 的 zope.component.adapter装饰器替换已弃用的 zope.component.adapts用法。

  • 用等效 的 zope.interface.implementer装饰器替换已弃用的 zope.interface.implements用法。

  • 放弃对 Python 2.4 和 2.5 的支持。

3.9.5 (2011-08-11)

  • LP #824355:启用对 HttpOnly cookie 的支持。

  • 修复zope.session.session.Session中的错误,如果在实例上尝试迭代或包含测试,则会触发无限循环。

3.9.4 (2011-03-07)

  • 向 adapter.zcml 中的 IClientId 适配器声明添加显式提供。

  • 添加选项以禁用 PersistentSessionDataContainer 中的隐式扫描。

3.9.3 (2010-09-25)

  • 添加额外的测试以声明对zope.testing的测试依赖。

  • 使用 Python 的doctest模块而不是弃用的 zope.testing.doctest

3.9.2 (2009-11-23)

  • 通过仅在 Python 2.5 及更高版本中使用 hashlib 来修复 Python 2.4 hmac 兼容性问题。

  • 在构造和验证客户端 ID 时,使用 CookieClientIdManager 的密钥而不是消息作为 hmac 密钥。

  • 可以构造 CookieClientIdManager 传递 cookie 命名空间和/或秘密作为构造函数的参数。

  • 将 zope.schema.fieldproperty.FieldProperty 用于 CookieClientIdManager 的“命名空间”属性,就像其接口中的其他属性一样。此外,使 ICookieClientIdManager 的“命名空间”字段成为 ASCIILine,因此它只接受 cookie 名称的非 unicode 字符串。

3.9.1 (2009-04-20)

  • 恢复与 Python 2.4 的兼容性。

3.9.0 (2009-03-19)

  • 不要在 Python 2.6 上提出弃用警告。

  • 放弃对zope.annotation的依赖。相反,我们让类 在 ZCML 配置中实现IAttributeAnnotatable ,前提是zope.annotation 可用。如果您的代码依赖于可注释的CookieClientIdManagerPersistentSessionDataContainer并且您不包含此包的 zcml 类配置,则需要使用zope.interface中的classImplements函数来使这些类再次实现IAttributeAnnotatable

  • 放弃对 zope.app.http 的依赖,使用email.utils模块中的标准日期格式化功能。

  • 会话实用程序的 Zope 3 应用程序引导代码已移至 zope.app.appsetup 包中,因此在此包中删除了对 zope.app.appsetup 的依赖。

  • 删除测试依赖项,因为我们不需要 zope.testing 后面的任何东西,并且之前的依赖项只是从 zope.app.session 迁移而来。

  • 删除 zpkg 文件和 zcml slugs。

  • 稍微更新一下包的描述。

3.8.1 (2009-02-23)

  • 添加为 CookieClientIdManager 设置 cookie 有效域的功能。当您在一个域上设置应用程序并且希望标识 cookie 对子域有效时,这对于简单的情况很有用。

  • Python 2.6 兼容性更改。在调用 hmac.new() 之前对字符串进行编码,因为函数不再接受 unicode() 类型。

3.8.0 (2008-12-31)

  • 在zope.sitezope.app.publication添加缺少的测试依赖项。

3.7.1 (2008-12-30)

  • 为 apidoc.zcml 中的标题指定 i18n_domain

  • ZODB 3.9 不再包含 ZODB.utils.ConflictResolvingMappingStorage,修复了测试,因此它们适用于 ZODB 3.8 和 3.9。

3.7.0 (2008-10-03)

新的功能:

  • 在 CookieClientIdManagers 上添加了“postOnly”选项,仅允许在 POST 请求上设置客户端 ID cookie。这是为了进一步降低将相同客户端 ID 分发给多个用户的损坏缓存的风险。(当然,如果缓存被破坏到足以缓存 POST 也无济于事。)

3.6.0 (2008-08-12)

新的功能:

  • 在 CookieClientIdManagers 上添加了一个“安全”选项,以使用安全的 set-cookie 选项,它告诉浏览器不要通过 http 发送 cookie。

    这为仅 ssl 的应用程序提供了增强的安全性。

  • 仅在尚未设置的情况下设置客户端 ID cookie,并尝试防止标头被缓存。这是为了将损坏的缓存将相同的客户端 ID 分发给多个用户的风险降到最低。

3.5.2 (2008-06-12)

  • 删除由设置lastAccessTime引起的 SessionData 上的 ConflictErrors 。

3.5.1 (2008-04-30)

  • 将 ZCML 拆分,以便更合理地重用。

3.5.0 (2008-03-11)

  • 将默认会话“分辨率”更改为合理的值并记录/测试它。

3.4.1 (2007-09-25)

  • 修复了一些元数据并切换到 tgz 版本。

3.4.0 (2007-09-25)

  • 初始发行

  • 将部分从zope.app.session移动到这个包