jCasbin強(qiáng)大高效的開源訪問控制框架
Casbin 是一個(gè)強(qiáng)大的、高效的開源訪問控制框架,其權(quán)限管理機(jī)制支持多種訪問控制模型。
Casbin 支持以下編程語言:
| Language | Project | Status |
|---|---|---|
| Golang | Casbin | production-ready |
| Java | jCasbin | production-ready |
| PHP | PHP-Casbin | experimental |
| Node.js | node-casbin | production-ready |
| C++ | xCasbin | WIP |
特點(diǎn)
Casbin 做了什么:
支持自定義請(qǐng)求的格式,默認(rèn)的請(qǐng)求格式為
{subject, object, action}。具有訪問控制模型 model 和策略 policy 兩個(gè)核心概念。
支持 RBAC 中的多層角色繼承,不止主體可以有角色,資源也可以具有角色。
支持超級(jí)用戶,如
root或Administrator,超級(jí)用戶可以不受授權(quán)策略的約束訪問任意資源。支持多種內(nèi)置的操作符,如
keyMatch,方便對(duì)路徑式的資源進(jìn)行管理,如/foo/bar可以映射到/foo*
Casbin 不做的事情:
身份認(rèn)證 authentication(即驗(yàn)證用戶的用戶名、密碼),casbin 只負(fù)責(zé)訪問控制。應(yīng)該有其他專門的組件負(fù)責(zé)身份認(rèn)證,然后由 casbin 進(jìn)行訪問控制,二者是相互配合的關(guān)系。
管理用戶列表或角色列表。 Casbin 認(rèn)為由項(xiàng)目自身來管理用戶、角色列表更為合適
評(píng)論
圖片
表情
