easyrbac:基于角色的人类访问控制

easyrbac的Python项目详细描述


#易生银行

[![构建状态](https://travis-ci.org/prodics/rbac.svg?branch=master)(https://travis ci.org/prodicus/rbac)





































``````````


`````python
>easyrbac import accesscontrollist,user,role






每个人的角色=角色('Everyone')
管理员角色=角色('Admin')

所有人用户=用户(角色=[Everyone角色])
管理员用户=用户(角色=[Admin角色,Everyone角色])



acl=AccessControlList()

acl.resource读取规则(每个人角色,'Get',/api/v1/employee/1/info')
acl.resource删除规则(管理员角色,'Delete',,'/api/v1/employee/1/')

尚未为特定对象定义规则,默认情况下将不允许任何此类操作。
对于[角色中的用户角色,每个用户中的角色的[role.get_name()]:
断言ACL。是否允许写入(用户角色,“写入”,'/api/v1/employee/1/info')==false

'/api/v1/employee/1/')==true
否则:
断言acl.is_delete_allowed(user_role,'delete','/api/v1/employee/1/')==false
`````


todo

-[]添加表示父级的层次角色<;->;子关系
-[]将此添加到瓶子/烧瓶顶部
-[]使其“pip”可安装

-[http://profesandhu.com/articles/adcom/advcom/adv-comp-u-rbac.pdf](http://profesandhu.com/articles/advcom/adv-comp-u-rbac.pdf)
-[http://www.comp.nus.edu.sg/~tankl/cs5322/读数/rbac1.pdf](http://www.comp.nus.edu.sg/~tankl/cs5322/读数/rbac1.pdf)
-[http://www.comp.com/http://www.com/ansi-rbac-intro/](https://symas.com/http://www.com/www.symas.com/ansi.com/ansi简介/)
-[https://pythonhosted.org/flask principal/](https://pythonhosted.org/flask principal/)
-[https://iamfortress.net/2014/11/24/使用角色进行访问控制不是rbac/](https://iamfortress.net/2014/11/24/使用角色进行访问控制不是rbac/)
-[http://cloudify.co/2016/04/15/simple secure role-based access control rest api rbac server devops cloud orchestration.html](http://cloudify.co/2016/04/15/simple secure role-based access control rest api rbac server devops cloud orchestration.html)

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

推荐PyPI第三方库


热门话题
java如何在没有机器人的情况下下载文件?   可编程web浏览器Java库   Java:unescape XML属性值   java如何在会话中存储用户ID,并在安卓中检索另一个类?   java(React Native/Android)Android getFilesDir()给我“/data/user/”而不是“/data/data/”   java是否可以在Gradle中定义Android stringarray资源?   java在Spring中将参数传递给构造函数中引用的bean   java在列表中加载静态图像会减慢滚动速度   java对整数数组进行排序,同时维护与字符串数组的关系   java Spring JdbcTemplate如何限制要选择的查询?   java如何将a到z转换为二进制   JAVAlang.NullPointerException:尝试调用虚拟方法“int 安卓”。数据库sqlite。SQLiteDatabase。对空对象引用执行getVersion()   java Spring StoredProcess结果集值修剪   java改造JsonArray recyclerview异常   java什么时候开始。util。设置重复项的检查