【问题标题】:Role-based authorization mechanism for a GAE appGAE 应用程序的基于角色的授权机制
【发布时间】:2012-03-13 19:04:18
【问题描述】:

我正在为在 Google App Engine 上运行的用 Python (2.7) 编写的应用寻找基于角色的框架/模块/包。

对于基于角色,我的意思是一种机制,可以让我检查(大部分时间在请求处理期间)某个用户是否能够执行特定操作。

几个用例:

  • 用户 A 应该能够查看和修改自己的个人资料,而用户 B 应该只能看到用户 A 的个人资料。
  • 具有“admin”角色的用户应该能够看到所有注册用户,而用户 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 实现。

【问题讨论】:

  • [Here][1] 是一个很好的实施建议。 [1]:stackoverflow.com/questions/1448308/…
  • 是的,我有一些关于如何自己实现它的想法。我想知道是否有人/某事已经实施。似乎不是(来自tipfy的一部分)所以我可能会DIY。

标签: python google-app-engine authorization acl


【解决方案1】:

Web2py 包含基于角色的访问控制,我相信它适用于 GAE。这记录在这里:

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

您也许可以分叉 auth 模块并根据您的目的对其进行修改。我知道人们已经使用 web2py 的其他部分(例如 DAL)做到了这一点。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 1970-01-01
      • 2022-01-01
      • 2018-05-31
      • 2017-12-14
      • 2017-04-12
      • 2018-07-21
      • 1970-01-01
      相关资源
      最近更新 更多