Casbin
一个支持如ACL, RBAC, ABAC等访问模型,可用于Golang, Java, C/C++, Node.js, Javascript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Lua (OpenResty), Dart (Flutter)和Elixir的授权库。
支持多种访问控制模型
在Casbin,访问控制模型是基于PERM元模型 (Policy, Effect, Request, Matchers) 压缩而成的一个CONF文件。 因此,项目授权机制的转换或升级就像修改配置一样简单。
灵活的策略储存方式
除了内存和文件外,Casbin策略还可以存储在许多地方。 目前Casbin已经支持了从MySQL、Postgres、Oracle到MongoDB、Redis、Cassandra、AWS S3等数十种数据库。请在此查看完整的支持列表:适配器.
跨语言 & 跨平台
Casbin已经使用Golang、Java、PHP和Node.js等等语言实现。 所有的实现共享相同的 API 和行为。学习一次即可到处使用。