Simple RBAC权限控制工具库

联合创作 · 2023-09-30 09:32

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 托管的源码中也包含了使用范例,OSChina 代码分享中也发布了一个范例。该工具库也已经注册到 PyPI,可以使用

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

安装。

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

浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报