跳转到主要内容

检查所有通过grokked的"视图-like"组件是否需要权限。

项目描述

megrok.strictrequire

什么是megrok.strictrequire?

Strictrequire实现了Grok中各种视图组件的额外grokkers。这些grokkers确定视图组件(或其基类)上是否明确设置了grok.require指令。

如果视图组件没有显式使用 grok.require 指令,将引发错误(从而阻止应用程序启动),这为在您的应用程序中找到未受保护的视图提供了最小的安全网。

使用 megrok.strictrequire

要启用 megrok.strictrequire,只需将其列在项目的 setup.py 文件中的需求列表中。使用最近版本的 grokproject 命令启动的基于 Grok 的应用程序将自动包含 megrok.strictrequire 的 configure.zcml,从而使额外的 grokkers 生效。

注意事项

如果您的应用程序触发“第三方”视图的注册,而这些视图本身没有特别使用 grok.require 指令,则您的应用程序将无法启动。

如果您仍然决定使用第三方视图,请确保通过调整应用程序的 configure.zcml 来确保 megrok.strictrequire 的 configure.zcml 包含在第三方包之后。例如

<configure xmlns="http://namespaces.zope.org/zope"
           xmlns:grok="http://namespaces.zope.org/grok">
  <include package="grok" />

  <!-- include this package before mgrok.strictrequire is included -->
  <include package="package_with_unprotected_views" />

  <!-- includeDependencies will include megrok.strictrequire -->
  <includeDependencies package="." />
  <grok:grok package="." />
</configure>

megrok.strictrequire 的更改日志

5.0 (2024-03-22)

  • 取消对显式(pkg_resources)命名空间的支持,并替换为隐式(PEP 420)命名空间。

4.0 (2024-01-25)

  • 取消对 Python 2.7、3.4、3.5、3.6 的支持。

  • 取消对 grok < 5 的支持,因此取消对 JSON、REST 和 XMLRPC 的支持。

  • 添加对 Python 3.7、3.8、3.9、3.10、3.11、3.12 的支持。

3.0.0 (2018-01-17)

  • Python 3 兼容性。

0.7 (2018-01-10)

  • 在准备 Python2/3 迁移的同时更新依赖项。

0.6 (2013-10-16)

  • 添加 grok.Page 组件的 grokker。

0.5 (2011-07-19)

  • 反映 grok 1.8 的最新更改。

0.4 (2011-07-11)

  • 使用 groktoolkit 版本。

  • 不要检查 ViewletManager 的要求指令,因为这些不是作为视图公开的。

0.3 (2010-05-18)

  • 已修复测试依赖项。它们目前正式包括 zope.app.testing。

0.2 (2009-06-22)

  • 也要检查 ViewletManager 和 Viewlet 组件。

0.1 (2009-06-18)

  • 初始发布。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

megrok.strictrequire-5.0.tar.gz (9.4 kB 查看哈希值)

上传时间

构建分发

megrok.strictrequire-5.0-py3-none-any.whl (9.9 kB 查看哈希值)

上传时间 Python 3

由以下组织支持