我的应用程序在 Zope 2.12.19 和 Python 2.6.5 上运行。
有一个页面模板文件,文件pagetemplate.pt
中定义了访问限制pagetemplate.pt.metadata
。这些访问限制适用于除 Zope 产品中的网页之外的所有网页并正常工作。
该.metadata
文件的内容如下:
[default]
title=
[security]
View=0:Authenticated,Manager,Owner,User
Access contents information=0:Authenticated,Manager,Owner,User
例如,有一个 Zope 产品列出了系统中的所有用户,它使用了上面的页面模板。用户无需登录即可匿名访问此页面,这意味着未读取元数据文件。
.metadata
但是要访问 Products 之外的任何其他页面,应用程序会强制用户登录。 Products 读取文件是否有问题?
仅供参考 - 我不使用 ZODB ......相反,所有内容(源代码)都在文件系统上。
的内容configure.zcml
如下。
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:five="http://namespaces.zope.org/five"
xmlns:browser="http://namespaces.zope.org/browser"
i18n_domain="AMSPermissions">
<!-- the users manage page -->
<browser:page
for="OFS.interfaces.IFolder"
name="manage-users"
template="standard_template.pt"
class=".users.UsersView"
permission="zope2.View"
/>
<!-- permissions checker -->
<browser:page
for="OFS.interfaces.IFolder"
name="perm_check"
class=".permissions.PermissionsCheckerView"
permission="zope2.View"
allowed_interface=".interfaces.IPermissionsCheckerView"
/>
</configure>.
此外,以下是产品的示例代码。
<html metal:use-macro="context/standard_template/macros/page">
<metal:block fill-slot="heading">Users Overview</metal:block>
<metal:block fill-slot="body" tal:define="users view/get_users">
---------Some code--------
</metal:block>
</html>