使用casbin进行应用访问控制


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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM