前言
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
安装。
小编推荐一个学python的学习qun 740,3222,34
无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
网友评论