Pylons与AuthKit中的用户认证

7 投票
4 回答
3349 浏览
提问于 2025-04-11 09:23

我正在尝试使用Pylons创建一个网页应用程序,网上的资源都指向了PylonsBook这个页面,但对我帮助不大。我想要实现用户身份验证和授权,不知道有没有简单的方法可以让Authkit和Pylons一起使用?

我试着从cheeseshop下载SimpleSiteTemplate,但没能成功运行setup-app命令。它报了一个错误:

  File "/home/cnu/env/lib/python2.5/site-packages/SQLAlchemy-0.4.7-py2.5.egg/sqlalchemy/schema.py", line 96, in __call__
    table = metadata.tables[key]
AttributeError: 'module' object has no attribute 'tables'

我使用的是Pylons 0.9.7rc1,SQLAlchemy 0.4.7,Authkit 0.4。

4 个回答

1

我觉得AuthKit现在已经不再维护了。不过,它确实使用了Paste这个库(你可以在http://pythonpaste.org找到它),这个库可以处理一些像HTTP基本认证和摘要认证的功能。如果你想用HTTP认证的话,可以先看看它的源代码,获取一些灵感,然后使用Paste提供的工具。

还有OpenID,这个设置起来非常简单。python-openid这个库有一个很好的示例,容易转换成WSGI格式,适合用在Pylons应用上。你可以看看这个示例:

http://ionrock.org/hg/brightcontent-main/file/d87b7dcc606c/brightcontent/plugins/openidauth.py

2

我放弃了使用authkit,自己做了一个:

http://tonylandis.com/openid-db-authentication-in-pylons-is-easy-with-rpx/

2

好的,关于这个话题再更新一下。看起来,cheeseshop的模板有点问题。我按照你在帖子里提到的章节去做,发现authkit运行得还不错。不过,有几点需要注意:

  1. sqlalchemy必须是0.5版本。
  2. authkit必须是来自svn的开发版本(可以用命令easy_install authkit==dev来安装)。

我成功让它正常工作了。

撰写回答