基于rust axum 完成web端手脚架 基础权限,用户,缓存,验证,代码生成
cassie_axum
介绍
基于rust axum 完成web端手脚架 基础权限,用户,缓存,验证,代码生成
#####
rust axum web 是rust开发的web手脚架项目
软件架构
软件架构说明
- rust web框架
- web:axum
- 数据库:mysql
- Orm:Ribatis
- RBAC:cabin-rs
- 验证码:captcha
- 数据验证:validator
开发计划
- 基础缓存定义,ORM框架定义
- 返回数据格式定义
- 完成casbin的基础RABC权限集成
- TODO 微服务集成 KONG网关集成
- nacos注册中心集成
- 动态表单实现
已完成
- 基础缓存定义,redis
- orm框架选用Ribatis
- casbin-rs集成,适配器编写
- 用户权限jwt 融合casbin-rs
使用说明
rust开发环境省略
1:初始化DB,添加配置
导入db cassie_admin.sql
2:构建并启动项目
cargo build
cago run
3:postman 导入 axum.postman_collection.json
开始测试
/*
权限中间件使用:
Auth是权限认证验证的核心入口
中间件的添加方式:
route("/index", get(index)).layer(extractor_middleware::<Auth>())
访问/index的时候受权限影响
*/
#[tokio::main]
async fn main() {
// 初始化日志
tracing_subscriber::fmt::init();
//绑定端口 初始化 路由
let app = Router::new()
.route("/index", get(index)).layer(extractor_middleware::<Auth>())
.nest("/admin", admin::routers())
.nest("/api", api::routers());
println!("address:{}", &CONTEXT.config.server);
axum::Server::bind(&CONTEXT.config.server.parse().unwrap())
.serve(app.into_make_service())
.await
.unwrap();
}
框架说明
参与贡献
String 348040933@qq.com
初学者 axum 和 cabin-rs集成 欢迎大家指正
gitee.com/stringlxd/cassie_axum.gi...
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: