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

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

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

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

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

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

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

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

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

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...