我想问一下使用Google App Engine,Python处理基于角色的安全性的常用方法是什么?
在app.yaml中,有“登录”部分,但可用值仅为“admin”和“required”。
您通常如何处理基于角色的安全性?
基于角色的安全性的任何其他想法或任何其他方法,请告诉我们!
答案 0 :(得分:4)
我会通过向表示用户的模型添加角色的ListProperty来实现此目的。该列表包含给定用户所属的任何角色。这样,如果您想知道给定用户是否属于给定角色(我希望是最常见的操作),那么这是一种快速的成员资格测试。
您可以将角色名称作为字符串直接放入列表中,或者将一个间接层添加到指定角色详细信息的另一个实体,以便以后更改细节。但是,这需要额外的RPC运行时成本来获取有关角色的详细信息。
如果要从给定角色中删除所有用户,或执行任何其他类型的全局操作,则会出现此方法的缺点。我想你可以将一个角色标记为“已删除”,但是在你手动清理它们之前,你仍然会让所有用户模型的数据混乱。所以我很想知道其他人的建议。