使用a-select进行身份验证的pas插件
pas.plugins.aselect的Python项目详细描述
内容
Changelog for pas.plugins.aselect
1.4 (2011-08-22)
- 当配置默认值为 已更改(类似于客户端包中的猴子修补程序)。 [毛里塔尼亚]
1.3 (2011-01-24)
- 移动到Plone集体。首次公开发行。 [毛里塔尼亚]
- 修复了最近添加更新现有用户后的测试 配置选项(默认:false)。 [毛里塔尼亚]
1.2 (2010-08-30)
- 为一个翻译添加了区域设置。 [毛里塔尼亚]
- 在@@ASelect登录页上,如果没有创建任何用户,因为 可能属于多个组,显示供用户选择的选项 要加入的团体。 [毛里塔尼亚]
- 添加了配置选项组属性,默认为 'nledupersonhomeorganizationid' [毛里塔尼亚]
- 添加了两个配置选项:must_have_group和 必须有一个组,默认都为true。使用这些 默认设置,当 我们无法从凭据中提取一个组。 [毛里塔尼亚]
- 添加了配置选项not_accepted_users并比较 有黑名单的凭证。我们不验证 黑名单用户。 [毛里塔尼亚]
- 将“始终更新”配置选项重命名为更清晰的 更新已验证的用户。 [毛里塔尼亚]
- 将Extract_Always配置选项重命名为更清晰的 在所有路径上提取。 [毛里塔尼亚]
- 将config.update_始终更改为true,因此我们始终更新用户 属性和组设置,因为我们在默认情况下只对 选择登录页和测试cookies页。 [毛里塔尼亚]
- 当我们不知道姓氏时,请将电子邮件的第一部分添加到 取而代之的是全名(如果知道的话)。 [毛里塔尼亚]
1.1 (2010-08-25)
- 允许调用@@aselect login?noredirect=1在 选择登录页而不是重定向到plone站点 根。这样可以更容易地检查cookies。 [毛里塔尼亚]
1.0 (2010-08-19)
- 不总是提取和验证凭据,但仅当启用时 某些路径,如testcookies和aselect login。 [毛里塔尼亚]
- 添加了一个只需重定向到plone站点的选择登录页面 根。在(apache)a-select中将其定义为受保护的应用程序 模块和你应该很好去。 [毛里塔尼亚]
- 如果nledupersonhomeorganizationid(可能是一个brin代码) 匹配组ID,我们在 身份验证。 [毛里塔尼亚]
- 只处理aselectattributes cookie,不处理任何其他cookie。 [毛里塔尼亚]
- 第一个版本,基于一些旧的客户代码。 [毛里塔尼亚]
PAS plugin for A-Select integration
A-Select(仅荷兰语)与“licentiekantoor”结合使用 (“许可证办公室”)是一个完整的身份验证/授权 解决方案。它可以与openid进行比较:添加 授权。
基本前提:已经可用的apache配置处理 与aselect通信并确保我们得到的aselect cookies 是真的。所以pas插件只需要处理cookie内容。
PAS functionality
此插件执行提取和身份验证:
- 从aselectattributescookie中提取凭据:用户 ID和成员数据,如全名、电子邮件地址、组织ID (布林代码)。
- 身份验证凭据:基于 提取的凭据并验证此用户。
Note on performance and up-to-date-ness
我们可以检查用户属性或基于 在每个请求的cookie上。但每一个请求不仅仅意味着 每一页一次,也为每个css、javascript或图像一次 文件这可能不利于性能(尽管它可能 可行)。
因此,我们的解决方案是只提取特定路径上的选定信息;通过 在@aselect login'路径和 `@testcookies`路径。或者你可以选择不更新 已具有 来自plone.session的身份验证cookie(\u ac)。注销应该是 足以重置plone.session cookie,它将触发 更新了自动登录以及获取属性更新,因为 a-select cookie应该仍然可用。
这是默认行为。在config.py中,您可以更改几个 如果您不喜欢 并意识到对性能和 最新的ness。注意,config.py相当好 评论,所以如果你是一个程序员,你可能想看看。
或者,我们可以做一些聪明的事情,比如回忆 厨师在某个地方试着更新 那根绳子的变化。
Usage
用plone 3.3.5测试。把pas.plugins.aselect加到鸡蛋里 buildout.cfg中实例部分的参数。重新运行构建, 启动实例,通过“添加/删除”安装插件 站点设置中的“产品”。安装代码的唯一作用是 将插件添加到acl_用户,为所需插件激活它 接口,并确保它是列出的第一个插件 接口(顺序可能并不那么重要,请参见 以上)。如果需要的话,你可以手动操作。
注意,在pas/plugins/aselect目录中的readme.txt中, 有一位博学的博士。作为测试它可能比 作为文档,因此它不包含在pypi页面中。