在Plone中使用Shibboleth属性作为认证信息
项目描述
在Plone中使用Shibboleth属性。
变更历史
0.8b2 (2010-11-19)
修复Plone外用户的事件处理器
0.8b1 (2010-11-04)
使用IUserLoggedInEvent更新对象的本地角色
删除对AutoUserMakerPASPlugin的硬依赖
0.8a2 (2010-04-20)
修复了视图类方法中的缺失返回值 [tom_gross]
0.8a1 (2010-04-06)
从旧式产品0.7复制 [tom_gross]
详细文档
概述
扩展Plone的folder_localrole_form以授予Shibboleth用户的权限。
ShibbolethPermissions 用稍作修改的页面替换了folder_localrole_form,该页面添加了Shibboleth部分。Shibboleth部分依赖于ZMI中进行的配置。当配置后,当新用户通过Shibboleth登录时,将根据用户指定的正则表达式在现有对象上授予权限。
这对于已经通过Shibboleth登录的现有用户没有任何作用。这些用户可以通过常规的Plone方法授予权限,因为它们已经作为Plone用户存在。
要求
Zope和Plone。已测试与Zope 2.10.11和Plone 3.3.5一起使用
安装
将Products.ShibbolethPermissions添加到您的buildout的eggs部分
重新运行buildout。
重新启动Zope。
安装插件:转到您的-plone-site -> 网站设置 -> 添加/删除产品,并安装ShibbolethPermissions。
使用Shibboleth权限
对于管理员
在ZMI中,在acl_users/ShibbolethPermissions的配置选项卡中。
有两个输入区域:左侧的输入区域列出所有将可供用户使用的 Shibboleth 属性。例如,所有在设置和映射标题中列出的属性。AutoUserMakerPASPlugin 的 README.txt 有一个示例 PHP 页面,当设置完成后,将显示由 Shibboleth 设置的所有属性。
右侧的输入区域是左侧区域中属性的对应标签列表。在右侧输入框中输入属性标签。
点击“保存”。
当用户授权权限后,ZMI 的选项标签将列出权限。将有一个复选框允许删除路径的所有规则。路径也将是一个链接,管理员可以使用该链接快速转到 Plone 共享标签,该标签可用于单个规则编辑。
对于用户
在 Plone 中,选择您想要共享的项目上的共享标签。如果您看不到共享标签,Plone 认为您没有执行此操作的权限。
在共享标签中,滚动到 Shibboleth 权限 部分。上面配置的每个属性都会显示一个输入字段。每个输入字段都是 Python 正则表达式。请参阅 https://docs.pythonlang.cn/lib/module-re.html 和 深入 Python 的正则表达式章节 https://diveintopython.cn/regular_expressions/。简单的字符串也可以。
选择要授予的角色。
点击“应用设置”。
一旦设置了规则,Plone 将显示一个“管理现有规则”表单。在表中,通过选中左侧每个要删除角色的复选框来删除规则或规则,然后点击“删除选定的 Shibboleth 模式”。
要修改由规则授予的角色,选中规则旁边的复选框,然后选择要分配的角色,然后点击“将选定的角色分配给选定的 Shibboleth 模式”。
要更改规则的源值,创建一个新的规则,然后删除旧的规则。
测试
要运行 ShibbolethPermissions 测试,使用标准的 Zope 测试运行器
$INSTANCE_HOME/bin/zopectl test -s Products.ShibbolethPermissions
致谢
Ithaka Harbors, Inc. 的 Alan Brenner 在 Andrew W. Mellon 基金会信息技术研究项目指导下编写了 ShibbolethLogin。我想感谢 psych.ucla.edu 的 Paul Yuergens 对其进行测试。
支持
目前,请通过电子邮件 alan DOT brenner AT ithaka DOT org 联系我,或查看我是否在 irc.freenode.net 的 #plone、#plone4edu 或 #weblion 频道上的 AlanBrenner。
贡献者
Alan Brenner,作者
Tom Gross,贡献者