权限控制工具库 Simple RBAC

openkk 9年前

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

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

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

 

easy_install simple-rbac  # or  pip install simple-rbac

 

安装。

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

项目主页:http://www.open-open.com/lib/view/home/1338904788922