Simple RBAC權(quán)限控制工具庫(kù)
Simple RBAC 是一個(gè)簡(jiǎn)單的權(quán)限控制工具庫(kù),提供了在 Python 中使用基于角色訪問(wèn)控制(Role Based Access Control)的可能。該工具庫(kù)有如下特性:
- 支持角色(Role)和資源(Resource)的多重繼承,以便于在分層復(fù)雜的使用場(chǎng)景中使用;
- 支持規(guī)則斷言(Assertion),可以實(shí)現(xiàn)特殊的訪問(wèn)控制規(guī)則(例如早上九點(diǎn)到十點(diǎn)之間拒絕上傳、小組成員才允許發(fā)言等);
- 最簡(jiǎn)單的情況下可以只啟用一個(gè)規(guī)則注冊(cè)表(rbac.acl.Registry),調(diào)用 `is_allowed`和 `is_any_allowed`驗(yàn)證規(guī)則;
- 復(fù)雜一點(diǎn)的場(chǎng)景,可以啟用訪問(wèn)控制上下文(rbac.context.IdentityContext),設(shè)置回調(diào)函數(shù)自動(dòng)加載用戶擁有的角色身份,并用 Python 豐富的 AOP 支持驗(yàn)證權(quán)限(裝飾器、with 語(yǔ)法等);
- 對(duì)于使用了 ORM 的情況,還可以使用代理注冊(cè)表(rbac.proxy.RegistryProxy),在注冊(cè)規(guī)則和驗(yàn)證權(quán)限的時(shí)候直接使用 ORM 映射過(guò)的類或?qū)嵗鳛閰?shù)。
詳細(xì)介紹請(qǐng)見(jiàn)項(xiàng)目主頁(yè),Github 托管的源碼中也包含了使用范例,OSChina 代碼分享中也發(fā)布了一個(gè)范例。該工具庫(kù)也已經(jīng)注冊(cè)到 PyPI,可以使用
easy_install simple-rbac # or pip install simple-rbac -U
安裝。
如果發(fā)現(xiàn)有 Bug 或?qū)Ρ卷?xiàng)目有任何建議,都?xì)g迎到 Github 提交 Issues。
評(píng)論
圖片
表情
