跳转到主要内容

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>

idtitle 是必填项,而 permissioninterface 是可选的。

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]

新功能

错误修复

  • 更新测试以使用测试最佳实践(并停止使用 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)

2.2.3 (2015-03-22)

  • 从模板中的门户消息中移除 DL。 [khink]

2.2.2 (2014-10-23)

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

2.0b1 - 2010-02-18

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

由以下机构支持