使用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 (布林代码)。
  • 身份验证凭据:基于 提取的凭据并验证此用户。
  • 如果组织ID与现有组的ID匹配,则添加 这个用户到那个G组。请注意,永远不会再次删除组。

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页面中。

Credits

  • 吉多·韦斯多普
  • 乔里斯·斯洛布
  • 毛里特斯范里斯
  • 重新定义van rees

图标取自http://www.famfamfam.com/lab/icons/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Java和Javascript之间共享常量   c#无法使用Gson反序列化字节[]   如果字符串是实十进制数字,则在Java中仅显示十进制数字   与Android Studio的java FireBase同步失败   web应用程序的Java Oracle数据库更改通知问题   数组中缺少整数的java嵌套循环   zos在z/os上以TOD格式(一天中的时间)转换Java时间戳   java JAXB未根据注释生成XML(JDK 1.7)   java使用Twitter4j和Geolocation查找在该地区发布推文的用户,但如何获取用户ID?   在Libgdx中实现简单运动模糊的java意外结果   java在Android数据库中插入另一个EditText值?   java标准偏差数组(我的算法错误)   java如何修复M1 Mac的Ant javascript标记?   java遍历树标记值的长度   java理解Springboot中的Cron,自动发送电子邮件   java如何将“Data.Json”文件从资产保存到内部存储器,然后将其用于读/写   java代码在编写FirstDuplicate方法时会遇到时间限制问题   java将HTML转换为PDF并将其添加到段落中   javascript css()未设置正文标记的背景属性