Plone 查看检查已登录成员的权限

Plone 查看检查已登录成员的权限,plone,zope,Plone,Zope,我想将Plone站点根目录中的视图限制为仅登录成员 我应该检查哪个权限 为了澄清,我想将此权限用作Zope3视图配置,并提供一些默认情况下可以工作的功能。如果可以避免这种情况,我不想为自己创建和分配已验证的权限。在股票期权中,已验证但不匿名的用户可以更改自己的密码。您可以使用该权限。它被称为: cmf.SetOwnPassword没有“已验证”权限,所有权限仅用于特定操作,如果经过验证的用户需要能够执行该操作,则应将相应权限分配给“已验证”角色 要获取“已验证”角色的(基于Zope2字符串的)权

我想将Plone站点根目录中的视图限制为仅登录成员

我应该检查哪个权限


为了澄清,我想将此权限用作Zope3视图配置,并提供一些默认情况下可以工作的功能。如果可以避免这种情况,我不想为自己创建和分配已验证的权限。

在股票期权中,已验证但不匿名的用户可以更改自己的密码。您可以使用该权限。它被称为:

cmf.SetOwnPassword

没有“已验证”权限,所有权限仅用于特定操作,如果经过验证的用户需要能够执行该操作,则应将相应权限分配给“已验证”角色

要获取“已验证”角色的(基于Zope2字符串的)权限的快速列表,请使用以下ZMI视图:

http://localhost:8080/Plone/manage_roleForm?role_to_manage=Authenticated
我假设您在端口8080上运行站点,并将Plone对象命名为
Plone
。它在多选列表中显示所有权限,当前分配的权限处于激活状态

在默认站点上,此列表非常有限,只分配了
设置自己的密码
设置自己的属性
使用外部编辑器
。对于前两种情况,Zope3等效物为:;它们是
cmf.SetOwnPassword
,和
cmf.SetOwnProperties
;第三个目前没有Zope3等价物,但很容易定义,只需将其添加到某个ZCML文件中:


Zope3权限只是使用有效python ID的Zope2对应权限的别名

我真的不知道您想对视图做什么,但您最好的选择是找到适当的权限并将其分配给“已验证”角色,或者创建新的权限

事实上,后者很容易

假设我想创建一个“Access foo bar”权限,我只需直接用ZCML文件中的Zope3标识符注册它:


这就是它的全部;“访问foo-bar”权限现在将在ZMI中可见

如果希望默认情况下将此权限授予特定角色,请将其列为包含的元素:


这仅适用于“全局”角色(在Zope根目录下定义),例如“经理”、“匿名”和“已验证”

(可选)使用rolemap.xml文件将其列在GenericSetup配置文件中,以将此新权限分配给经过身份验证的角色:



仅当您要分配在Plone级别定义的权限(如“站点管理员”或“编辑器”)时,才需要使用后者。

您不想创建权限吗?