使用Google App Engine和Python进行基于角色的安全性

Hoa*_*ham 5 python google-app-engine role-based

我想问一下使用Google App Engine,Python处理基于角色的安全性的常用方法是什么?

在app.yaml中,有"登录"部分,但可用值仅为"admin"和"required".

您通常如何处理基于角色的安全性?

  • 使用两个表创建模型:角色和UserRoles
  • 导入Roles表的值
  • 手动将用户添加到UserRoles
  • 检查用户是否在正确的角色组中

任何其他想法或任何其他基于角色的安全方法,请告诉我们!

gra*_*ion 4

我将通过将角色的 ListProperty 添加到代表用户的模型来实现此目的。该列表包含给定用户所属的任何角色。这样,如果您想知道给定用户是否属于给定角色(我期望,最常见的操作),这是一个快速的成员资格测试。

您可以将角色名称作为字符串直接放入列表中,或者向另一个实体添加一个间接层来指定有关角色的详细信息,以便以后可以轻松更改详细信息。但是,这需要额外的 RPC 来获取有关角色的详细信息,从而产生运行时成本。

如果您想要从给定角色中删除所有用户或执行任何其他类型的全局操作,则此方法的缺点就会出现。我想您可以将角色标记为“已删除”,但是数据仍然会弄乱所有用户模型,直到您手动清理它们。所以我很想听听其他人的建议。