21个版本 (1个稳定版)
1.0.0 | 2024年2月1日 |
---|---|
0.9.0 | 2021年1月31日 |
0.8.3 | 2020年12月25日 |
0.8.1 | 2020年9月27日 |
0.3.1 | 2020年3月27日 |
在数据库接口中排名558
每月下载量93
39KB
942 行
Diesel Adapter for Casbin-RS (Rust)
Diesel适配器是Diesel的适配器,用于Casbin-rs。使用这个库,Casbin可以从Diesel支持的数据库中加载策略或将策略保存到其中。
基于Diesel,当前支持的数据库有
注意:postgres
,mysql
,sqlite
是互斥的,这意味着您只能激活其中一个。
注意
为了统一Casbin生态系统中的数据库表名,我们决定从版本0.9.0
开始使用casbin_rule
而不是casbin_rules
。如果您在生产环境中使用旧版本的diesel-adapter
,请使用以下命令并更新diesel-adapter
版本
# MySQL & PostgreSQL & SQLite
ALTER TABLE casbin_rules RENAME TO casbin_rule;
安装
将其添加到Cargo.toml
diesel-adapter = { version = "0.9.0", features = ["postgres"] }
tokio = { version = "1.1.1", features = ["macros", "rt-multi-thread"] }
警告:tokio v1.0
或更高版本从diesel-adapter v0.9.0
开始支持,我们建议您升级相关组件以确保它们正常工作。支持tokio v0.2
的最后一个版本是diesel-adapter v0.8.3
,您可以根据需要选择。
配置
配置env
将 sample.env
重命名为 .env
并将 DATABASE_URL
和 POOL_SIZE
放在里面
DATABASE_URL=postgres://casbin_rs:casbin_rs@localhost:5432/casbin
# DATABASE_URL=mysql://casbin_rs:casbin_rs@localhost:3306/casbin
# DATABASE_URL=casbin.db
POOL_SIZE=8
或者你可以导出 DATABASE_URL
和 POOL_SIZE
export DATABASE_URL=postgres://casbin_rs:casbin_rs@localhost:5432/casbin
export POOL_SIZE=8
示例
use diesel_adapter::casbin::prelude::*;
use diesel_adapter::DieselAdapter;
#[tokio::main]
async fn main() -> Result<()> {
let mut m = DefaultModel::from_file("examples/rbac_model.conf").await?;
let a = DieselAdapter::new("postgres://casbin_rs:[email protected]:5432/casbin", 8)?;
let mut e = Enforcer::new(m, a).await?;
Ok(())
}
依赖项
~31-45MB
~753K SLoC