Plone的工作流程和安全设置
项目描述
简介
plone.app.workflow 包含 Plone 的流程和安全性相关功能,包括共享视图。
通用设置
此包支持通用设置语法以向“共享”页面添加新角色。本地角色在 sharing.xml 中定义,如下所示
<sharing xmlns:i18n="http://xml.zope.org/namespaces/i18n" i18n:domain="plone"> <role id="CopyEditor" title="Can edit copy" permission="Manage portal" interface="plone.base.interfaces.ISiteRoot" i18n:attributes="title" /> </sharing>
id 和 title 是必填项,而 permission 和 interface 是可选的。
permission 属性定义了在共享表单中显示相关角色所需的权限。
interface 属性声明上下文必须实现的所需接口,以便在共享表单中显示相关角色。
事件通知
此包引入了从 zope.lifecycleevent.IModifiedEvent 派生的 ILocalrolesModifiedEvent。在本地角色被修改并重新索引对象安全性后,将触发具体的 LocalrolesModifiedEvent。
变更日志
5.0.3 (2023-10-07)
内部
更新配置文件。[plone 开发者](cfffba8c)
5.0.2 (2023-03-22)
内部
更新配置文件。[plone 开发者](789b0936)
5.0.1 (2023-01-26)
错误修复
为 @@sharing 视图填充 body 插槽而不是 main。[frapell](#34)
5.0.0 (2022-11-30)
错误修复
最终发布。[gforcada](#600)
5.0.0b1 (2022-07-21)
错误修复
修复 sharing 按钮的翻译。[petschki](#33)
5.0.0a3 (2022-05-15)
破坏性更改
isort、black、Pyupgrade、不使用 six 以及使用 plone.base 以及一些小手动清理。[jensens](#32)
5.0.0a2 (2021-09-15)
错误修复
删除与 Products.CMFPlone 的循环依赖关系。[sneridagh](#30)
5.0.0a1 (2021-04-21)
破坏性更改
更新以支持 Plone 6 并使用 Bootstrap 标记。[petschki, agitator](#29)
新功能
使共享标签中的图标从站点根目录相对路径。[frapell](#25)
4.0.3 (2020-09-26)
错误修复
修复了 zope.component.interfaces.IComponentRegistry 的弃用警告。修复了 zope.site.hooks 的弃用警告。[maurits](#3130)
4.0.2 (2020-04-20)
错误修复
小的打包更新。[#1]
4.0.1 (2019-03-03)
错误修复
共享搜索表单会记住搜索词。[ale-rt](#19)
4.0.0 (2018-11-02)
破坏性更改
无需在 zcml 中定义 cmf.ChangeLocalRoles,因为这是在 Products.CMFCore >=2.4.0b2 中实现的。[jensens]
将测试适配到 Products.GenericSetup >= 2.0,因此至少需要该版本。[jessesnyder]
新功能
替换 my_worklist.py 皮肤脚本的用法。https://github.com/plone/Products.CMFPlone/issues/1801 [reinhardt]
Python3 兼容性 [jessesnyder, pbauer]
错误修复
更新测试以使用测试最佳实践(并停止使用 p.a.testing 中的 bbb 模块)。[gforcada]
3.0 (2017-05-29)
破坏性更改
删除了长时间弃用且未使用的权限“更改门户事件”。[kakshay21]
2.2.7 (2017-02-12)
错误修复
修复了查找错误导致的测试失败,多余的“可用项”(Zope 4)问题 [davisagli]
2.2.6 (2016-08-18)
错误修复
使用 zope.interface 装饰器。 [gforcada]
2.2.5 (2016-05-15)
新增
为具有足够权限的用户,从共享页面“共享 ab”中的群组名称添加直接链接到该群组的成员列表 [PLIP #1310] [datakurre]
2.2.4 (2015-09-20)
在 @@sharing 中使用 safe_unicode 进行搜索。修复了 https://github.com/plone/Products.CMFPlone/issues/930 问题 [pbauer]
2.2.3 (2015-03-22)
从模板中的门户消息中移除 DL。 [khink]
2.2.2 (2014-10-23)
即使登录名与用户 ID 相同,也显示登录名。修复了 https://dev.plone.org/ticket/14259 问题 [pbauer]
2.2.1 (2014-04-13)
引入 plone.app.workflow.interfaces.ILocalrolesModifiedEvent。在本地角色更改后触发 LocalrolesModifiedEvent。 [rnix]
在 plone.app.workflow.interfaces.ISharingPageRole 上引入 required_interface 属性。 [rnix]
2.2.0 (2014-02-23)
从模板中的门户消息中移除 DL。 https://github.com/plone/Products.CMFPlone/issues/153 [khink]
替换已废弃的测试断言语句。 [timo]
显示用户的登录名而不是用户 ID,后者是内部标识符。 [davisagli]
在共享标签页中包括从 borg.localrole 适配器派生的角色,显示为继承角色。 [datakurre, davisagli]
2.1.3 (2013-04-29)
向 sharing.py 添加 json 头部。 [travacic]
2.1.2 (2013-01-13)
使用“name”参数而不是“login”调用 searchUsers。根据 PAS 接口,“name”是官方支持的方式。 [maurits]
2.1.1 (2013-01-01)
改进了共享视图的可扩展性,以便开发人员可以轻松覆盖此视图并更改始终显示的组(粘性)。 [ispburger]
在共享标签页的搜索框上使用 HTML5 占位符属性。替换已废弃的 inputLabel 类。 [danjacka]
2.1.0 (2012-10-16)
移除 kss。JS 集成在 Products.CMFPlone 中。 [vangheem]
2.0.8 (2012-10-03)
重构:我们可以轻松自定义共享视图,以移除添加/删除继承字段。 [thomasdesvenain]
在共享视图中搜索电子邮件地址。 [davidjb]
2.0.7 (2012-06-29)
不要使用已废弃的 .gif 图标。 [davisagli]
2.0.6 (2011-11-24)
如果具有全局“Manager”角色的用户在共享中移除继承,避免失败。 [thomasdesvenain]
确保 sharing.xml GS 导出中的稳定排序。 [hannosch]
2.0.5 (2011-08-31)
用户应单击“保存”按钮以在共享标签页中实际保存其更改。也就是说,我们不想在搜索用户时更新本地角色。 [jfroche]
2.0.4 - 2011-07-04
如果用户在文件夹上继承了本地角色并在共享页面上移除了继承,为了避免最终失去访问权限,将之前继承的本地设置的权限保留下来。这参考了 http://dev.plone.org/plone/ticket/11945。 [thomasdesvenain]
在共享视图中,如果搜索词是已翻译的“搜索用户或组”消息,则立即返回空列表。 [vincentfretin]
由于重复的变量定义,在共享视图中对用户和组的搜索被做了两次,一次在 macro_wrapper 模板中,另一次在 sharing 模板中的用户-组-共享宏中。 [vincentfretin]
2.0.3 - 2011-05-12
添加 MANIFEST.in。 [WouterVH]
在排序共享列之前对翻译字符串进行规范化。 [vincentfretin]
2.0.2 - 2011-04-03
按翻译标题而不是角色 ID 排序共享列。 [vincentfretin]
在共享视图中添加了 plone.abovecontentbody 视图管理器。 [vincentfretin]
2.0.1 - 2011-01-04
依赖于 Products.CMFPlone 而不是 Plone。 [elro]
将站点管理员添加到可以委派其他角色的角色列表中(为了与 Plone 4.1 的向前兼容性)。 [davisagli]
共享表在 div 容器中。 [thomasdesvenain]
2.0 - 2010-07-18
更新许可证为仅适用于 GPL 版本 2。 [hannosch]
2.0b2 - 2010-03-05
将测试适应在 http://dev.plone.org/plone/changeset/34375 中引入的新策略。参考 http://dev.plone.org/plone/ticket/10236。 [tomster]
2.0b1 - 2010-02-18
更新了 sharing.pt 到最新的标记规范。参考 http://dev.plone.org/plone/ticket/9981 [spliter]
允许 @@sharing 在搜索时查找组标题以及 ID。解决了 http://dev.plone.org/plone/ticket/9269 [esteele]
2.0a3 - 2009-12-27
在 sharing.xml 中添加对 GenericSetup 角色删除的支持。这解决了 http://dev.plone.org/plone/ticket/9979。 [dukebody, thanks optilude]
使用 zope.site 并声明缺失的包依赖。 [hannosch]
2.0a2 - 2009-12-16
将 sharing.pt 中的 msgid box_search 更改为 label_search。box_search 在渲染的搜索小部件的标题中具有不同的语义。这解决了 http://dev.plone.org/plone/ticket/9752
不要在 heading_currently_assigned_shares 消息中包含 <q> 标签。 [vincentfretin]
2.0a1 - 2009-11-14
指定完整的包依赖和一些清理。 [hannosch]
将 sharing.pt 中的默认消息从“用户/组”更改为“名称”对于 label_name msgid。 [vincentfretin]
添加对 sharing.xml 导入/导出语法的支持。 [optilude]
1.2 - 2009-05-10
使用我们自己的 PloneMessageFactory。 [hannosch]
修复了对 Globals 的使用警告。 [hannosch]
指定包依赖。 [hannosch]
如果全名和用户名不同,则显示用户名。修复了 http://dev.plone.org/plone/ticket/8251。 [csenger]
调整测试以与 Zope 2.12 一起工作。 [hannosch]
使用 safe_unicode() 而不是 str() 修复 #7576。修复了 http://dev.plone.org/plone/ticket/8371。 [csenger]
1.1.5 - 2008-08-18
在 sharing-view 中纠正 UnicodeDecodeError,当搜索具有非 ASCII 字符的用户或组时。从请求中检索的所有参数都是字符串,但 _(u’Logged-in users’) 不是。包含非 ASCII 字符的字符串和 unicode-string 不能连接。修复了 http://dev.plone.org/plone/ticket/7576 [csenger]
1.1.4 - 2008-07-24
在搜索后更新共享页面时保留继承和全局角色的图标。这修复了 http://dev.plone.org/plone/ticket/8313 。 [wichert]
对共享页面中的主体进行排序。在保存更改之前,它们可以随机重新排序。 [wichert]
修复共享页面视图中的逻辑错误:在保存视图时,角色更改看起来丢失了,而实际上它们已经应用。这修复了 http://dev.plone.org/plone/ticket/8295 。 [wichert]
1.1.3 - 2008-07-07
修改共享页面中的内联(kss)搜索选项,使其仅搜索而不是更新角色和搜索。这种行为很不可直观,并且可能非常慢。 [wichert]
如果新的一组角色与当前的一组角色相同,则更新共享页面不做任何事情。 [wichert]
更新共享代码,使其仅索引一次而不是两次。 [wichert]
仅在设置实际更改时从共享标签的 update_inherit 方法调用 reindexObjectSecurity。这避免了在许多情况下不必要的、可能昂贵的目录重新索引。 [davisagli]
根据 PlonePAS 3.6 中的代码更新搜索结果合并代码。 [wichert]
处理无法检索的主体。这可能在 LDAP 环境中发生。 [wichert]
将安全名称标记为公共,以便它们可以在任何地方导入,并在启动时将它们注册到 Zope,以便您可以通过 ZMI 或 GenericSetup 配置文件来管理它们。 [wichert]
1.1.0 - 2008-04-21
保护“共享”表单免受 CSRF 攻击。 [witsch]
1.0.7 - 2008-03-09
创建了细粒度的权限来委派共享页面角色,以避免具有委派权限的人提升自己的权限。现在可以通过“共享页面:委派角色”权限在高级别控制,该权限控制对共享页面机制的访问,以及通过诸如“共享页面:委派编辑角色”之类的权限在单个角色基础上进行控制。 http://dev.plone.org/plone/ticket/7652
通过禁用编辑自身角色的功能,阻止了用户将自己锁在外面。
添加了友好的“更改已保存”信息。http://dev.plone.org/plone/ticket/6966
user_search_results() 现在不仅搜索登录名,还搜索全名。修复了 http://dev.plone.org/plone/ticket/6853 [erikrose]
将 user_search_results() 和 group_search_results() 中的重复逻辑提取出来,形成了 _principal_search_results()。 [erikrose]
0.1
在 sharing.pt 中添加了缺失的关闭 head 标签。这关闭了 http://dev.plone.org/plone/ticket/7161。 [hannosch]