我正在编写一个添加视图适配器,并希望将其使用限制为特定权限。
在ZCML中,我可以执行以下操作:
<class class=".add.AddView">
<require
permission="cmf.AddPortalContent"
interface="zope.publisher.interfaces.browser.IBrowserPage"
/>
</class>
有没有类似于grok的方法?
简单地使用grok.require是行不通的。
我的适配器看起来像这样:
class AddForm(grok.MultiAdapter, add.AddView):
grok.adapts(IFolderish, IThemeSpecific, IDynamicViewTypeInformation)
grok.name('addATDocument')
grok.provides(IBrowserPage)
grok.require('cmf.AddPortalContent')
但是如果没有ZCML片段,我可以匿名呈现add视图。
您可以尝试使用grokcore.security 1.5 包
http://pypi.python.org/pypi/grokcore.security#defining-权限