我正在编写一个添加 View 适配器,并希望将其使用限制为特定权限。

在 ZCML 中,我可以执行以下操作:

<class class=".add.AddView">
    <require
        permission="cmf.AddPortalContent"
        interface="zope.publisher.interfaces.browser.IBrowserPage"
        />
</class>

有没有一种等效的方法来做到这一点?

简单地使用 grok.require 是行不通的。

我的适配器看起来像这样:
class AddForm(grok.MultiAdapter, add.AddView):
    grok.adapts(IFolderish, IThemeSpecific, IDynamicViewTypeInformation)
    grok.name('addATDocument')
    grok.provides(IBrowserPage)
    grok.require('cmf.AddPortalContent')

但是如果没有 ZCML 片段,我可以匿名渲染添加 View 。

最佳答案

您可以尝试使用包 grokcore.security 1.5

http://pypi.python.org/pypi/grokcore.security#defining-permissions

关于plone - ZCML 的 "require"指令的 Grok 等效项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9634659/

10-15 19:59