Simple RBAC - 权限控制工具库


MIT
跨平台
Python

软件简介

Simple RBAC 是一个简单的权限控制工具库,提供了在 Python 中使用基于角色访问控制(Role Based Access
Control)的可能。该工具库有如下特性:

  • 支持角色(Role)和资源(Resource)的多重继承,以便于在分层复杂的使用场景中使用;
  • 支持规则断言(Assertion),可以实现特殊的访问控制规则(例如早上九点到十点之间拒绝上传、小组成员才允许发言等);
  • 最简单的情况下可以只启用一个规则注册表(rbac.acl.Registry),调用 is_allowedis_any_allowed验证规则;
  • 复杂一点的场景,可以启用访问控制上下文(rbac.context.IdentityContext),设置回调函数自动加载用户拥有的角色身份,并用 Python 丰富的 AOP 支持验证权限(装饰器、with 语法等);
  • 对于使用了 ORM 的情况,还可以使用代理注册表(rbac.proxy.RegistryProxy),在注册规则和验证权限的时候直接使用 ORM 映射过的类或实例作为参数。

详细介绍请见项目主页,Github 托管的源码中也包含了使用范例,OSChina
代码分享中也发布了一个范例。该工具库也已经注册到
PyPI,可以使用

easy_install simple-rbac
# or
pip install simple-rbac -U

安装。

如果发现有 Bug 或对本项目有任何建议,都欢迎到 Github 提交
Issues