2012-03-13 90 views
9

我在寻找一个基于角色的框架/模块/包在谷歌App Engine上运行用Python写的(2.7)的应用程序。基于角色的授权机制的应用GAE

基于角色的我的意思是允许我检查(在大多数情况下请求处理期间)某个用户是否能够执行特定操作的机制。

一对夫妇用例:

  • 用户A应该能够查看和修改自己的空间,而用户B应该只能够看到用户的档案。
  • 具有“管理员”角色的用户应该能够看到所有注册用户,而用户A和用户B应该只能看到具有公共个人资料的用户(例如user.public属性设置为True的用户)

我想象像

user_a.is_able_to('read', user_b) # -> True of False 

user_a.authorize('update', user_b) # raises an exception if 'not allowed to' 

到目前为止,我只看到从tipfy acl.py。看起来很简单,非常接近我正在寻找的东西。我不知道是否有一些类似于acl.py,最好使用NDB来实现。

+0

[这里] [1]是一个良好的实施建议。 [1]:http://stackoverflow.com/questions/1448308/role-based-security-with-google-app-engine-and-python – husayt 2012-03-20 23:32:01

+0

是的,我对如何一对夫妇的想法,自己实施。我想知道是否有人/某些东西已经实施。这似乎并不虽然(从tipfy的一部分),所以我可能会自己动手做。 – alex 2012-03-21 09:40:00

回答

2

web2py中包含我相信在GAE上的作品基于角色的访问控制。这是记录在这里:

http://web2py.com/books/default/chapter/29/9

您可以到餐桌的验证模块和MOD它为您的目的。我知道人们用web2py的其他部分(如DAL)完成了这个任务。

1

Turbogears和Web2py框架具有基于角色的访问控制,您可以将其中一个集成到GAE Python版本中。