FastAPI + Casbin RBAC + Vue3 + Element Plus权限系统(前后端全套)

guo_hongzhi · · 90 次点击    
# ⭐ FastAPI + Casbin RBAC + Vue3 + Element Plus权限系统(前后端全套) ## **一、项目基础 & 核心架构** * [项目简介和架构](https://www.duoke360.com/tutorial/ai-qx/p1) * [项目初始化和依赖文件](https://www.duoke360.com/tutorial/ai-qx/p2) * [应用配置文件(config.py)](https://www.duoke360.com/tutorial/ai-qx/p3) * [日志工具(logger.py)](https://www.duoke360.com/tutorial/ai-qx/p4) * [请求日志中间件(request_log.py)](https://www.duoke360.com/tutorial/ai-qx/p44) * [通用工具函数(common.py)](https://www.duoke360.com/tutorial/ai-qx/p30) * [分页工具(pagination.py)](https://www.duoke360.com/tutorial/ai-qx/p45) --- ## **二、数据库 & 会话管理** * [数据库会话管理(session.py)](https://www.duoke360.com/tutorial/ai-qx/p5) * [数据库初始化(init_db.py)](https://www.duoke360.com/tutorial/ai-qx/p43) --- ## **三、模型层(Models)** ### 🔐 用户角色权限相关模型 * [用户模型(user.py)](https://www.duoke360.com/tutorial/ai-qx/p7) * [角色模型(role.py)](https://www.duoke360.com/tutorial/ai-qx/p8) * [菜单模型(menu.py)](https://www.duoke360.com/tutorial/ai-qx/p9) * [权限模型(permission.py)](https://www.duoke360.com/tutorial/ai-qx/p10) * [Casbin规则模型(casbin_rule.py)](https://www.duoke360.com/tutorial/ai-qx/p11) * [操作日志模型(operation_log.py)](https://www.duoke360.com/tutorial/ai-qx/p12) * [模型包初始化(**init**.py)](https://www.duoke360.com/tutorial/ai-qx/p13) --- ## **四、权限系统(Casbin + RBAC)** ### 📘 Casbin 配置 * [Casbin模型配置(rbac_model.conf)](https://www.duoke360.com/tutorial/ai-qx/p14) * [权限配置文件(permissions.yaml)](https://www.duoke360.com/tutorial/ai-qx/p21) * [Casbin初始化模块(casbin.py)](https://www.duoke360.com/tutorial/ai-qx/p22) ### 🔐 安全 & JWT * [安全工具(security.py)](https://www.duoke360.com/tutorial/ai-qx/p6) * [认证中间件(auth_middleware.py)](https://www.duoke360.com/tutorial/ai-qx/p39) * [验证码工具(captcha.py)](https://www.duoke360.com/tutorial/ai-qx/p31) --- ## **五、Repository 数据访问层** * [用户Repository(user_repository.py)](https://www.duoke360.com/tutorial/ai-qx/p15) * [角色Repository(role_repository.py)](https://www.duoke360.com/tutorial/ai-qx/p16) * [Casbin规则Repository(casbin_rule_repository.py)](https://www.duoke360.com/tutorial/ai-qx/p17) * [菜单Repository(menu_repository.py)](https://www.duoke360.com/tutorial/ai-qx/p18) * [权限Repository(permission_repository.py)](https://www.duoke360.com/tutorial/ai-qx/p19) * [操作日志Repository(operation_log_repository.py)](https://www.duoke360.com/tutorial/ai-qx/p20) --- ## **六、Service 业务层** * [用户Service(user_service.py)](https://www.duoke360.com/tutorial/ai-qx/p23) * [角色Service(role_service.py)](https://www.duoke360.com/tutorial/ai-qx/p24) * [认证Service(auth_service.py)](https://www.duoke360.com/tutorial/ai-qx/p25) * [菜单Service(menu_service.py)](https://www.duoke360.com/tutorial/ai-qx/p26) * [权限Service(permission_service.py)](https://www.duoke360.com/tutorial/ai-qx/p27) * [Casbin规则Service(casbin_rule_service.py)](https://www.duoke360.com/tutorial/ai-qx/p28) * [依赖注入(dependencies.py)](https://www.duoke360.com/tutorial/ai-qx/p29) --- ## **七、Handler 控制器层(API 接口)** * [认证Handler(auth_handler.py)](https://www.duoke360.com/tutorial/ai-qx/p32) * [用户Handler(user_handler.py)](https://www.duoke360.com/tutorial/ai-qx/p33) * [角色Handler(role_handler.py)](https://www.duoke360.com/tutorial/ai-qx/p34) * [Casbin规则Handler(casbin_rule_handler.py)](https://www.duoke360.com/tutorial/ai-qx/p35) * [操作日志Handler(operation_log_handler.py)](https://www.duoke360.com/tutorial/ai-qx/p36) * [菜单Handler(menu_handler.py)](https://www.duoke360.com/tutorial/ai-qx/p37) * [权限Handler(permission_handler.py)](https://www.duoke360.com/tutorial/ai-qx/p38) --- ## **八、Main 程序入口 & 路由注册** * [应用入口(main.py)](https://www.duoke360.com/tutorial/ai-qx/p40) * [应用入口模块(**main**.py)](https://www.duoke360.com/tutorial/ai-qx/p46) * [API路由注册(router.py)](https://www.duoke360.com/tutorial/ai-qx/p41) * [公开路由注册(public_router.py)](https://www.duoke360.com/tutorial/ai-qx/p42) --- # **九、前端(Vue3 + Vite + TypeScript)** ## **项目初始化** * [前端项目初始化和配置文件](https://www.duoke360.com/tutorial/ai-qx/p47) ## **前端类型 & 工具** * [类型定义文件(types)](https://www.duoke360.com/tutorial/ai-qx/p48) * [请求工具(request.ts)](https://www.duoke360.com/tutorial/ai-qx/p49) * [认证工具(auth.ts)](https://www.duoke360.com/tutorial/ai-qx/p50) * [菜单工具(menu.ts)](https://www.duoke360.com/tutorial/ai-qx/p51) ## **前端 API 封装** * [认证API(auth.ts)](https://www.duoke360.com/tutorial/ai-qx/p52) * [用户API(user.ts)](https://www.duoke360.com/tutorial/ai-qx/p53) * [角色API(role.ts)](https://www.duoke360.com/tutorial/ai-qx/p54) * [菜单API(menu.ts)](https://www.duoke360.com/tutorial/ai-qx/p55) * [权限API(permission.ts)](https://www.duoke360.com/tutorial/ai-qx/p56) ## **页面 & 布局** * [路由配置(router)](https://www.duoke360.com/tutorial/ai-qx/p57) * [应用入口(main.ts)](https://www.duoke360.com/tutorial/ai-qx/p58) * [根组件(App.vue)](https://www.duoke360.com/tutorial/ai-qx/p59) * [主布局(MainLayout.vue)](https://www.duoke360.com/tutorial/ai-qx/p60) * [首页(Home.vue)](https://www.duoke360.com/tutorial/ai-qx/p69) * [登录页面(Login.vue)](https://www.duoke360.com/tutorial/ai-qx/p61) * [仪表盘(dashboard)](https://www.duoke360.com/tutorial/ai-qx/p62) * [角色列表(RoleList.vue)](https://www.duoke360.com/tutorial/ai-qx/p63) * [用户列表(UserList.vue)](https://www.duoke360.com/tutorial/ai-qx/p64) * [菜单列表(MenuList.vue)](https://www.duoke360.com/tutorial/ai-qx/p65) * [权限列表(PermissionList.vue)](https://www.duoke360.com/tutorial/ai-qx/p66) * [404错误页面(404.vue)](https://www.duoke360.com/tutorial/ai-qx/p67) * [全局样式(style.css)](https://www.duoke360.com/tutorial/ai-qx/p68) --- # 🎉 **整套系统总结** 这是一套完整的 **FastAPI + SQLAlchemy + Casbin RBAC 后端权限系统** 配合 **Vue3 + TypeScript 前端后台管理系统**,包括: ✅ 后端分层(Model / Repository / Service / Handler) ✅ JWT + Casbin 权限控制 ✅ 动态菜单 & 按钮级权限 ✅ 完整日志系统 ✅ 前端 Vue3 + TS + 组件化页面 ✅ 全套接口封装 & 登录权限拦截

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

90 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传