使用访问控制列表的数据存储安全性

DStore-ACL的Python项目详细描述


https://img.shields.io/coveralls/MarkLark/dstore-acl.svghttps://img.shields.io/travis/MarkLark/dstore-acl/master.svghttps://img.shields.io/pypi/v/dstore-acl.svghttps://img.shields.io/pypi/pyversions/dstore-acl.svg

dstore acl是dstore的安全层。

安装

dstore acl可从pypi存储库获得。

这意味着您只需在控制台中运行以下命令即可安装dstore acl:

$ pip install dstore-acl

最小示例

fromdstoreimportMemoryStore,Model,var,modfromdstore_aclimportACL,Role,UserRole,AccessDeniedclassUserAccount(Model):_namespace="users.account"_vars=[var.RowID,var.String("name",32,mods=[mod.NotNull()])]_acl_rules=dict(add_own=dict(default=True),add_others=dict(default=True),read_own=dict(allow=["admin","member"]),read_others=dict(allow=["admin"]),update_own=dict(allow=["admin","member"]),delete_own=dict(allow=["admin"]),delete_others=dict(allow=["admin"]),empty=dict(allow=["admin"]))classCar(Model):_namespace="cars.make"_vars=[var.RowID,var.String("manufacturer",32,mods=[mod.NotNull()]),var.String("make",32,mods=[mod.NotNull()]),var.Number("year",mods=[mod.NotNull(),mod.Min(1950),mod.Max(2017)]),]_acl_rules=dict(add=dict(allow=["admin"]),read=dict(default=True),update=dict(allow=["admin"]),delete=dict(allow=["admin"]),empty=dict(allow=["admin"]))users={}current_user="admin"# Create the MemoryStore instance, and add Models to itstore=MemoryStore([Car])acl=ACL(data_store=store,get_user=get_user,user_model=UserAccount)store.init_app()store.connect()store.create_all()# Create the user accountsfornamein["admin","member"]:users[name]=UserAccount(name=name).add()role=Role.filter(name=name)[0]UserRole(user_id=users[name].id,acl_role_id=role.id).add()# Admin can add new carsCar(manufacturer="Holden",make="Commodore",year=2009).add()# Member cannot add new carscurrent_user="member"try:Car(manufacturer="Holden",make="Commodore",year=2010).add()exceptAccessDenied:pass# Destroy all instances and shut down the applicationstore.destroy_all()store.disconnect()store.destroy_app()defget_user():returnusers[current_user]

文档:ReadTheDocs

源代码:GitHub

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓如何在java字符串中获取RATE的值   java ANT在哪里输出编译器错误?   在java中,while循环在何处启动对象   javacom。谷歌。格森。内部的LinkedTreeMap无法强制转换到我的类   java单选按钮。isSelected()方法未返回正确的响应   嵌入式系统中applet中的java相对码基字段   如何在eclipse中将Java应用程序附加到jvm探查器?   java为什么Android应用程序崩溃?   在java中拖放上传后保持文件夹结构   爪哇多领导人选举问题   java Springs RestTemplate如何处理postForEntity()中的错误响应   Java如何用前导零递增整数字符串?   java Android将文本作为图像共享给其他应用程序   Java搜索替换   java isDirectory()不适用于UNIX目录   java我们可以得到显示测试类是否通过或失败的TestNG报告吗   Java类对象排序和分组   简单Java幂递归   java在处理MethodArgumentNotValidException时如何访问请求对象?