首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查看已登录成员的查看权限

查看已登录成员的查看权限
EN

Stack Overflow用户
提问于 2012-06-05 20:37:31
回答 2查看 698关注 0票数 4

我想限制Plone站点根目录中的一个视图仅供已登录的成员使用。

我应该勾选哪种权限?

为了澄清,我想使用这个权限作为Zope3视图配置,并有一些在默认情况下工作。如果可以避免这种情况,我不想创建和分配权限来验证自己。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-05 22:03:09

在股票中,经过身份验证但不是匿名的用户可以更改他们自己的密码。您可以使用该权限。它被称为:

cmf.SetOwnPassword

票数 4
EN

Stack Overflow用户

发布于 2012-06-05 22:26:07

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

要获得'Authenticated‘角色的(基于Zope2字符串的)权限的快速列表,请使用以下ZMI视图:

代码语言:javascript
复制
http://localhost:8080/Plone/manage_roleForm?role_to_manage=Authenticated

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

在默认站点上,这个列表非常少,只分配了Set own passwordSet own propertiesUse external editor。对于前两个,Zope3等效项是defined in Products.CMFCore;它们是cmf.SetOwnPasswordcmf.SetOwnProperties;第三个目前没有Zope3等效项,但很容易定义,只需将以下代码添加到某个ZCML文件中:

代码语言:javascript
复制
<permission
  id="plone.UseExternalEditor"
  title="Use external editor"
  />

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

我真的不知道你想对你的视图做什么,但你最好的选择是找到一个合适的权限并将其分配给“Authenticated”角色,或者创建一个新的权限。

实际上,后者非常容易。

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

代码语言:javascript
复制
<permission
    id="foobar.AccessFooBar"
    title="Access foo bar"
    />

这就是它的全部内容;"Access foo bar“权限现在将在ZMI中可见。

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

代码语言:javascript
复制
<permission
    id="foobar.AccessFooBar"
    title="Access foo bar">
  <role name="Authenticated" />
</permission>

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

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

代码语言:javascript
复制
<?xml version="1.0"?>
<rolemap>
  <permissions>
    <permission name="Access foo bar" acquire="False">
      <role name="Authenticated"/>
    </permission>
  </permissions>
</rolemap>

只有当你想要分配在Plone级别定义的权限时,你才需要使用后者,比如'Site Administrator‘或'Editor’。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10897439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档