Pylons与AuthKit中的用户认证
我正在尝试使用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运行得还不错。不过,有几点需要注意:
- sqlalchemy必须是0.5版本。
- authkit必须是来自svn的开发版本(可以用命令easy_install authkit==dev来安装)。
我成功让它正常工作了。