5

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

在 app.yaml 中有“login”部分,但可用的值只有“admin”和“required”。

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

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

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

4

1 回答 1

4

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

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

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

于 2009-09-19T15:10:37.043 回答