📖Meal(一顿饭)基础用户权限管理脚手架

发布: 2021-12-17
热度: 48
趋势: 48
权重: 3
🎯

基于SpringBoot+Vue前后端分离部署模式用于简化开发的基础脚手架,本工程未包含过多的业务逻辑,仅提供账号、登录、鉴权、授权基础能力,采用了用户-角色最基本的授权模型进行构建。

基本信息

Meal(一顿饭)意如其名,旨在节省一顿饭的时间。
本工程采用前后端分离的部署方式,服务端采用 SpringBoot 构建,前端采用 Vue。
工程仅提供了一些基础支撑能力的构建,不包含其他的业务逻辑,旨在快速铺开一个新业务系统。

服务端工程地址:GiteeGitHub

前端工程地址:GiteeGitHub

特别致谢

Meal 服务端使用 MyBatis-Plus 作为基础脚手架。

Meal 服务端使用 jjwt 实现 JWT 快速加解密。

Meal-ui 前端工程 Fork 自 vue-admin-template

本人是 JAVA 服务端开发,@ 花裤衩的前端系列开源项目为我学习 Vue 提供非常大的帮助,非常感谢!

功能清单

Meal 工程仅提供了最基本的账号-角色支撑能力,没有涉及其他功能页面。

登陆页

SC-276-meal1.jpg

工作中心

SC-279-meal4.jpg

角色控制与多级菜单测试

SC-277-meal2.jpg

个人密码管理

SC-278-meal3.jpg

账号管理

SC-280-meal5.jpg

代码生成

SC-281-meal6.jpg

开发说明

服务端

外部依赖

  1. JDK 1.8 已知可能持续使用很长时间的版本
  2. MySql 5.7 经典版本
  3. Redis 6.0 比较新的一个版本(实际上目前项目中对版本要求没有十分严格)

工程目录

SC-282-meal7.jpg

核心类

  • MyBatisPlusConfig:MyBatis-Plus 配置类,配置 Mapper 扫描位置、分页插件等。
  • RedisConfig:配置 Redis 为默认缓存工具及常见操作 Bean 配置。
  • CodeMakerUtils:代码生成器的执行类
  • JwtUserContext:JWT 安全用户上下文对象(全局获取登录用户信息)
  • JwtFilter:Jwt 过滤器,核心过滤器(登录、授权、拦截)
  • ExceptionHandler:全局异常捕获处理(AOP 实现,支持自定义异常处理)
  • RoleInterceptor:角色拦截器(基于自定义注解 @RolePermission 实现鉴权)
  • EncryptionUtils:盐值加密工具(账号的密码生成,不可逆加密算法)

开发说明

  1. 数据库初始化刷库
  2. application-dev.yml 配置您的数据库信息和 redis 信息(默认 localhost)
  3. 启动 App 类

启动示意图:

SC-284-meal9.jpg

前端

外部依赖

  1. Node.js(基本工具)
  2. Git(多数前端工程依赖会需要调用 Git 下载)

工程目录

SC-285-meal10.jpg

SC-286-meal11.jpg

相对原本的改动

  1. 移除 Mocks 模拟返回服务(调用 meal 服务端工程)
  2. 移除测试模块以及相关依赖
  3. 移除 Cookies 插件依赖,Cookies 统一替换为 window.localStorage
  4. 补充动态路由由服务端返回的用户角色集 Roles 控制
  5. 移除自定义 icon(svg 格式),替换为 element-ui 的图标,直接修改了 Sidebar/Item.vue
  6. 核心方法 getUserBase 获取用户基础信息 src/store/modules/user.js getInfo()
  7. 增加 v-droll 可以自由在屏幕范围内拖动弹窗(src/directive/droll.js)

启动界面

SC-283-meal8.jpg

开发说明

# 依赖下载
npm install
# 开发模式
npm run dev
# 生产编译
npm run build

关于个人

关于米虫

当前文章暂无讨论,留下脚印吧!
大纲
  • 基本信息
    • 特别致谢
  • 功能清单
    • 登陆页
    • 工作中心
    • 角色控制与多级菜单测试
    • 个人密码管理
    • 账号管理
    • 代码生成
  • 开发说明
    • 服务端
      • 外部依赖
      • 工程目录
      • 核心类
      • 开发说明
    • 前端
      • 外部依赖
      • 工程目录
      • 相对原本的改动
      • 启动界面
      • 开发说明
  • 关于个人
提交成功,请等待审核通过后全面展示!

发表评论

昵称
邮箱
链接
签名
评论

温馨提示:系统将通过浏览器临时记忆您曾经填写的个人信息且支持修改,评论提交后仅自己可见,内容需要经过审核后方可全面展示。

选择头像