django的参数化基于角色的访问控制

django-prbac的Python项目详细描述


(基于角色的参数化访问控制)

https://github.com/dimagi/django-prbac

Build StatusTest coveragePyPi version

关于rbac和prbac

基于角色的访问控制(rbac)是大型系统中访问控制的标准方法。 使用rbac,可以将特权授予角色。例如你 可能会将特权Reporting授予角色Analyst。在大多数情况下 在系统中,可以根据需要深度嵌套角色,并为用户提供任意多的角色。好的 实践中的例子是PostgreSQL roles and privileges

角色和特权是任何对系统有意义的抽象概念。起来了 到应用程序代码,以根据授予的权限确定要采取的操作。这个 当然,可以用低级权限系统来实现,比如 行级或对象级访问控制列表(ACL)。

参数化基于角色的访问控制(prbac)添加参数 角色和特权。现在,例如,您可以授予"Reporting(organization="Dimagi",area="Finance")FinancialAnalyst(organization="Dimagi")。如果不使用参数,那么它就是rbac。 如果将参数与有限的选择集一起使用,那么它的功能将成倍增强。如果你 使用具有无限多个选项(例如字符串或整数)的参数 无限强大。有限参数化的一个很好的例子是 postgresql中的(SELECTUPDATE等)可以由对象参数化。在PRBAC中 这种参数化是普遍存在的。

深入的文档

若要了解有关在此库中实现的参数化基于角色的访问控制的详细信息,请 访问http://django-prbac.readthedocs.org/

django的访问控制

  • django.contrib.auth:django附带的这个应用程序提供了unix风格的访问控制(用户、组、权限) 具有由内容类型隐式参数化的可扩展权限集。这是 与基于角色的访问控制有本质区别。值得一提的是它来了 与django和每个人都会想知道“为什么你重新完成车轮?“。如果django.contrib.auth 是轮子,那么rbac是汽车,prbac是变压器。我把它作为练习留给读者 尝试使用django.contrib.auth:-)实现prbac
  • django-rbac:此项目似乎已失效且不是 以任何速率参数化。
  • django-role-permissions:这个应用程序实现了一种 角色在代码中静态定义的rbac。
  • 其他的可以在https://www.djangopackages.com/grids/g/perms/阅读。许多提供对象级权限, 它与基于角色的访问控制和unix权限一样正交。事实上,这可能是真的 任何使用“权限”一词的东西。

快速启动

要安装,请使用pip:

$ pip install django-prbac

许可证

django prbac是根据mit许可证发行的。(有关详细信息,请参见许可证文件)

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

推荐PyPI第三方库


热门话题
使用gitlabci进行GUI测试(java swing)时出现无头异常   tomcatjavaee:在调用时运行一个方法。战争已经展开   java将文档中章节的超链接插入XWPFTable中的单元格   无法将java扫描程序转换为int   java Axis2:只加载一次模块   java JAXB列表中的不同元素   java如何过滤字符串但保留一些标记   java如何检索列表中具有特定属性的所有对象?   java如何在jni中读取2D数组   java Android Studio:非语句错误   java一直在刷新gradle项目。引擎盖下发生了什么?   java如何在其他类中实现接口和扩展   java如何在travis构建期间使用gpg2导入私钥?   JavaSpringAOP:将参数传递到目标方法:paramsnull。为什么?   java Autocompletetextview建议宽度填充父级   java查询生成器仅在输入值不为null时创建更新语句   java从InputStream到并行流<T>   java空共享首选项导致我的应用程序崩溃   JavaTomcat:Tomcat Lib文件夹的位置   java如何在网站上显示GitHub时间表/提要