跳转到主要内容

适用于WSGI应用程序和框架的认证和授权工具包

项目描述

摘要

  • 适用于WSGI应用程序和中间件

  • 复杂且可扩展的权限系统

  • 内置对HTTP基本、HTTP摘要、表单、cookie和OpenID认证方法的支持,以及其他方法

  • 轻松定义用户、密码和角色

  • 设计为完全可扩展,您可以使用组件与数据库、LDAP连接或自己的自定义系统集成

  • Pylons Web框架兼容

还有一个开发版本,您可以使用以下命令使用Mercurial克隆:hg clone https://hg.3aims.com/public/AuthKit

入门

作者

James Gardner james at pythonweb dot org

3aimsPrometheus Research赞助开发。

变更

0.4.5

  • 将SQLAlchemy版本提升到0.5

  • 修复了67号票据以添加Python 2.4支持,补丁由Kumar McMillan提供

注意:旧的trac系统不再使用。任何悬而未决的错误应通过补丁和测试提交到AuthKit邮件列表。

0.4.4

  • 添加了Phil Kershaw的补丁以实现OpenID的属性交换

  • 添加了Phil Kershaw的补丁以在OpenID重定向期间隐藏继续按钮

  • 更改了cookie处理方式,如果设置了nouserincookie,则用户数据以及用户名将存储在会话中而不是cookie中

  • 向表单方法添加了一个user_data函数,您可以通过与其他选项相同的机制设置任意用户数据消息

0.4.3

  • 更新了authkit.authenticate.form,以处理#61中的建议更改。

  • 添加了电源适配器。

  • 将多中间件更改为返回WSGI响应,而不是遍历它并产生结果。

  • 修复了#50 OpenID问题,并在blogger.com上进行了测试。

  • 添加了将环境字典传递给render()函数的功能。

  • 添加了不良cookie自定义选项以修复#65,同时还允许自定义不良cookie模板。请参阅authkit.authenticate.cookie模块的docstring。

  • 添加了一种基于#61中的想法的新算法,用于猜测由表单中间件产生的表单的正确操作,同时还添加了对authkit.form.action选项的支持,允许您手动覆盖AuthKit的猜测。(OpenID中间件调用此baseurl)

  • 向用户API中添加了user_set_password()方法。修复了#64。

  • 从表单处理器中移除了阿拉伯字母。修复了#40。

  • 为IE添加了表单处理头。修复了#54。

  • 添加了对SQLAlchemy 0.5的支持,使用session.add()而不是session.save()。

  • 多处理器现在可以处理作为迭代器实现的WSGI应用程序,它已经支持生成器。multi2.py示例演示了这一点。

  • 在所有重定向的AuthKit响应上设置pylons.status_code_redirect环境变量。

  • 在所有重定向的AuthKit响应上设置pylons.error_call环境变量。

  • 尝试使用摘要身份验证与服务器端密码加密时触发错误。

0.4.2

  • 应用了#59的大部分内容并测试了两个OpenID示例。

  • 添加了对WebOb HTTPExceptions的支持以从Pylons 0.9.7中删除弃用警告。

  • 在cookie模块中修复了缺少md5导入的问题。

  • 应用了ticket #52中的补丁。

0.4.1

  • 添加了setup.fakeuser选项,该选项自动设置REMOTE_USER,使其看起来有人已经登录。与setup.enable = False一起使用很有用。

  • 现在setup.enable = false选项还禁用了授权检查(由Rick Flosi报告)。

  • 应用了Pawel Niewiadomski提供的补丁以修复#53。

  • 将openid.sreg模块的导入更改为openid.extensions.sreg。

  • 修复了form.py文件的编码问题。

  • 更新了示例以使用最新的语法。

  • 更新了针对新SQLAlchemy驱动程序的测试。

  • 添加了Daniel Pronych的SQLAlchemy驱动程序,但进行了重大更改。

  • 由于Python OpenID最新版本中的更改,修复了导致AuthKit OpenID无法与Yahoo登录一起工作的错误。Phil Kershaw #50

  • 更新了用户/数据库示例,现在它工作正常了 #43

  • 更新了用户令牌代码以修复#17

  • 更新了authkit.authenticate.multi,以便它应该修复#41并正确传递start_response()的WSGI writable。

  • 添加了一个form.method选项,这样您就可以在另一个中间件已经解析了表单变量的情况下选择GET身份验证(例如,使用repoze?)。

  • 修复了为非标准端口生成表单操作时的错误。

  • 修复了Sam Gentle报告的由多个代理后的X_FORWARDED_FOR获取远程地址的错误。

  • AuthKit表单身份验证现在在生成操作时拾取HTTP_X_FORWARDED_HOST和HTTP_X_FORWARDED_PORT。这允许您在端口80上运行AuthKit应用程序,通过443代理,只要您设置这两个(略不标准)变量。

  • 修复了#38,cookie注销路径应与配置文件中指定的路径匹配。

  • 修复了#37,摘要身份验证中缺少sys导入。

  • 更新了SQLAlchemy代码以使用SQLAlchemyManager。需要手动安装,使用easy_install SQLAlchemyManager

  • 添加了用户管理api_version属性,并更改了API,以便每个请求都设置users对象并接收一个environ参数。

  • OpenID中间件现在不再自己设置beaker中间件。现在应在中间件堆栈中手动完成此操作。请参阅examples/docs/open_id.py中的示例。

  • OpenID支持现在升级到使用2.0(来自Dalius Dobravolskas)。

  • 修复了与PostgreSQL用户驱动程序一起的加密typo。

  • Cookie中间件现在有一个nouserincookie选项,它强制中间件将用户名存储在Beaker会话中,而不是在cookie中的纯文本中。请参阅examples/docs/form_no_user_in_cookie.py以了解其使用示例。

  • 表单认证方法现在默认为200 OK,而不是当显示登录表单时为401,以便与Safari 3 Beta兼容。

  • Cookie中间件Bad Ticket页面现在也使用200 OK,也是为了支持Safari 3 Beta。

  • Cookie中间件的bad ticket现在记录到调试而不是错误,以避免在没有设置错误日志的情况下,如果cookie不正确会出现的“没有找到处理程序为logger "authkit.authenticate.cookie"”的消息。

  • 添加了用户管理api_version属性,并更改了API,以便每个请求都设置users对象并接收一个environ参数。

  • 修复了与PostgreSQL用户驱动程序一起的加密typo。

  • 将config_paste选项重命名为authenticate中间件的app_conf。如果您在确认已指定的情况下遇到“未指定authkit.setup.method”错误,这可能是原因。

0.4.0

  • 增加了对加密密码的支持

  • 修复了digest中间件中的IE7漏洞

  • 添加SSO子目录,API重定向和CAS认证处理程序。

  • 修复了绑定检查,使其返回none,而不是抛出异常(出于性能考虑)。

  • 将start_response检查移出app_iter消费之外,因为此时必须调用它以符合WSGI。

  • 修复了多进程中的app iter消费,将整个响应加载到内存中。

  • 添加更改日志

  • 添加基于IP和时间权限对象

  • 开始编写单元测试

  • 扩展了用户管理API,并添加了SQLAlchemy驱动和示例

  • 将authenticate中间件重构为独立的可插拔组件

  • 简化了配置文件系统

  • 添加了OpenID依赖

  • 删除了基于SQLAlchemy的大规模演示

  • cookie模块使用authkit作为默认cookie名称,而不是auth_tkt。任何手动对此cookie进行操作的代码,如果未在配置文件中明确设置为auth_tkt,则需要更改名称。

0.3.0pre5

  • 更改了authkit.authenticate.middleware()工厂的参数。您需要更新中间件设置,使用app_conf而不是config_paste作为app_conf字典。

0.3

  • 从头开始重写,以成为一个构建自己的认证框架的模块化工具包,而不是一个一站式解决方案。

0.2

  • 从头开始重写,仅使用SQLAlchemy,认为旧的驱动系统不必要且受限。也不符合当前的Pylons最佳实践。

0.1

  • 基于www.pythonweb.org的web.auth 0.6模块,包括对SQLObject驱动程序的支持

许可证

版权(c)版权所有 2005-2007 James Gardner <james at pythonweb dot org>

特此授予任何获得此软件及其相关文档文件(“软件”)副本的任何人,免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人使用软件,受以下条件约束

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任负责,无论是在合同行为、侵权行为或其他行为中产生的,与软件或软件的使用或其他交易有关。

下载

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源分发

AuthKit-0.4.5.tar.gz (114.5 kB 查看哈希值)

上传时间

构建分发

AuthKit-0.4.5-py2.5.egg (189.3 kB 查看哈希值)

上传时间

由以下组织支持