跳转到主要内容

一个用于用户之间代理角色的Plone PAS插件

项目描述

一个 PAS插件,用于Plone,管理员(或普通用户)可以将他们的权限 委托给其他用户

介绍

此产品将为您的网站添加一个角色共享控制面板,其中用户(委托人)将能够将他的角色 代理 给另一个用户(被委托人)。

在委托活动期间,被委托人将能够以委托人的身份行事,因为他拥有 相同的角色(全局和本地)。

每个代表也将获得一个新的代表角色(此角色不会注册到您的Plone站点,此功能必须由第三方或手动配置激活)。

代理角色设置”控制面板

插件配置由一系列的委托者/代表对组成。

Proxy Roles Settings

默认情况下,所有用户都可以访问此面板,有一个很大的区别

  • 管理员和网站管理员(拥有“pas.plugins.proxy: Manage proxy roles”权限)可以为所有用户添加和删除角色委托

  • 其他成员只能代表自己。如果您不希望将此权限授予普通用户,可以简单地删除“pas.plugins.proxy: Access proxy roles panel”权限。

其他规则

  • 您只能代表现有用户

  • 不能越级代表(一个用户不能同时是另一个用户的委托者和代表)

  • 委托者可以根据需要多次代理其角色

  • 一个用户可以是多个用户的代表

PAS插件还充当一个组插件:代表将自动获得委托者所在的组中给予的所有角色。

查询一个代表所在的组将同时返回其委托者的组。相反:查询组内的用户将不会返回由于委托过程而似乎属于该组用户。

限制和故障排除

规则之一

最重要的要知道的是:该插件仅适用于当前登录的用户(类似于认证用户虚拟组):如果您通过代码查询一个代表的权限,您将一无所获。这不是一个技术限制,而是插件本身执行积极的缓存带来的实际后果,从而带来可接受的性能。

继承

委托只具有一层继承:如果用户A是用户B的委托者,而用户B是用户C的委托者,则C不会从A那里获得任何权力。这可能在将来可能(如果这样:可选)但有一些关于性能和避免循环委托环的后果。

了解委托状态

没有简单的方法可以知道一个用户能够执行一个动作是因为他拥有足够的权限,还是因为通过委托者的角色获得了所需的权限。即使代表角色也无法在这方面提供太多帮助,因为它在当前上下文中每次代理角色激活时都会被赋予。

限制插件效果

如前所述,此产品实现了三种类型的插件

  • 本地角色

  • 全局角色

……默认都启用。您可以自由访问ZMI并禁用一个或多个插件(例如:您可能不喜欢组的传播效果)。

作者

此产品由RedTurtle技术团队开发。

RedTurtle Technology Site

更改日志

0.1.0 (2015-05-15)

  • 初始发布

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

pas.plugins.proxy-0.1.0.zip (89.6 kB 查看哈希

上传时间

由以下组织支持