casbin 支持比較完備的訪問控制模型(acl,rbac,abac...)
同時casbin也提供了一個acaas 的服務模型(casbin server)
特性
- 支持比較完備的訪問控制模式
- 支持不同數據庫的adapter
- 多語言支持(包含了基本上大家常用的開發語言,而且使用上是一致的)
- 支持大規模的使用(當然並不是特別的到位,特別大的量也是會有問題的,因為policy 加載目前是在客戶端的,當然官方也提供了相關優化說明)
- 支持watcher 機制(主要還是對於本地存儲模式的擴展,當我們部署多實例的時候問題的擴展解決方案)watcher 實現也比較簡單
- 分布式式模式以及增量支持(能減少因為變動的loadpolicy 問題,但是核心單機存儲數據還是有問題的,還是比較期待提供調整的)
casbin-server 參考說明
casbin-server 是一個cs 架構的模式,server基於golang編寫,同時提供了client(golang,php,python)
支持的數據庫(基於gorm)包含mssql,mysql,postgres... 同時也依賴的grpc,我們自己也可以實現不同語言實現
說明
casbin的設計是很不錯的,支持多租戶,強大的規則處理,多語言一致行使用,很值得使用,對於日常的訪問控制系統開發很值得使用(簡單高效)
參考資料
https://casbin.org/
https://github.com/casbin/casbin-server
https://github.com/casbin/casbin