什么是Casbin-rs
Casbin是基于 Go 语言的权限控制库。它支持 ACL, RBAC, ABAC 等常用的访问控制模型。
Casbin-rs则是 Rust 语言下的移植, 相比 Go 语言版本有更高的速度和内存安全保障。
Casbin 做了什么 Casbin 的配置文件由两部分组成, 一个是 Configuration 文件(可以理解为模型配置文件), 配置了模型( Model )选用,分组( Group )配置,定义请求( Request )和策略( Policy )结构,再有就是匹配器( Matcher )的配置,这些在后文由叙述。另外一个就是策略( Policy )的盛放容器, 这个可以是 csv 文件,也可以是数据库( MySQL/PostgreSQl )。容器中的 Policies 都衍生于 Model 的配置 支持 RBAC 中的多层角色继承,不止主体可以有角色,资源也可以具有角色 支持超级用户,如 root 或 Administrator,超级用户可以不受授权策略的约束访问任意资源 支持多种内置的操作符,如 keyMatch,方便对路径式的资源进行管理,如 /book/1 可以映射到 /book/:id Casbin 不做什么 身份认证 authentication(即验证用户的用户名、密码),casbin 只负责访问控制。应该有其他专门的组件负责身份认证,然后由 casbin 进行访问控制,二者是相互配合的关系。管理用户列表或角色列表。Casbin 认为由项目自身来管理用户、角色列表更为合适,用户通常有