权限管理web页面
Go to file
Bunny 72d16ef29e build: 🔨 打包优化 2024-10-26 02:31:35 +08:00
.husky init 2024-09-26 09:38:02 +08:00
build build: 🔨 打包优化 2024-10-26 02:31:35 +08:00
docker page: 📄 任务调度日志页面 2024-10-18 13:51:03 +08:00
images docs: 📚 加文档说明 2024-10-23 09:53:44 +08:00
public page: 📄 前端获取后端web配置文件 2024-10-23 16:58:37 +08:00
src completepage: 🍻 主页修改完成 2024-10-26 01:12:17 +08:00
.browserslistrc init 2024-09-26 09:38:02 +08:00
.dockerignore init 2024-09-26 09:38:02 +08:00
.editorconfig init 2024-09-26 09:38:02 +08:00
.env feat: 🚀 用户登录未完成 2024-09-26 16:58:51 +08:00
.env.development optimize: ♻️ 格式化代码;获取客户端路由 2024-09-27 16:57:42 +08:00
.env.production build: 🔨 打包优化 2024-10-26 02:31:35 +08:00
.gitignore init 2024-09-26 09:38:02 +08:00
.lintstagedrc init 2024-09-26 09:38:02 +08:00
.markdownlint.json init 2024-09-26 09:38:02 +08:00
.npmrc init 2024-09-26 09:38:02 +08:00
.nvmrc init 2024-09-26 09:38:02 +08:00
.prettierrc.js feat: 🚀 批量修改权限父级 2024-10-10 10:32:17 +08:00
.stylelintignore init 2024-09-26 09:38:02 +08:00
LICENSE docs: 📚 添加开源协议 2024-10-23 09:58:27 +08:00
ReadMe.md docs: 📚 修改文档 2024-10-24 16:22:14 +08:00
commitlint.config.js media: 🎁 添加批量添加权限文件 2024-10-09 17:00:10 +08:00
eslint.config.js fix: 🧩 更新菜单图标搜索 2024-10-05 21:18:20 +08:00
index.html init 2024-09-26 09:38:02 +08:00
lint-staged.config.js init 2024-09-26 09:38:02 +08:00
package.json build: 🔨 打包优化 2024-10-26 02:31:35 +08:00
pnpm-lock.yaml build: 🔨 打包优化 2024-10-26 02:31:35 +08:00
postcss.config.js init 2024-09-26 09:38:02 +08:00
stylelint.config.js init 2024-09-26 09:38:02 +08:00
tailwind.config.ts init 2024-09-26 09:38:02 +08:00
tsconfig.json init 2024-09-26 09:38:02 +08:00
vite.config.ts build: 🔨 打包优化 2024-10-26 02:31:35 +08:00

ReadMe.md

Github地址

Gitee地址

功能介绍

系统使用的是物理删除但是引用了逻辑删除使用mybatisPlus如果需要逻辑删除只需要将原先删除方法调用成mybatisplus自身的删除方法即可。

作为权限管理系统校验功能已经路由功能都是由后端完成后端使用SpringSecurity

系统权限功能使用RBAC模型

系统设置

系统菜单

当用户登录时会根据,当前角色获取自身的菜单路由,防止返回不该返回的页面,之后权限和角色关联,根据用户权限查询可以访问的菜单内容,如果权限中没有这个路径那么会告知无权访问

管理员需要在配置时,配置菜单和角色之间的关系,用户也要和角色关联,角色会关联权限表,返回路由时只返回当前用户可以访问的菜单。

  • 前端做递归,排序后端也做了
  • 快捷排序,快捷禁用菜单
  • 路由菜单图标需要再系统配置中添加菜单图标

image-20241023090359575

为菜单分配角色

image-20241023090640516

用户管理

强制下线就是将Redis中用户信息删除

用户禁用先改数据库之后将Redis中数据进行删除

image-20241023091239212

关于用户管理事务问题

如果用户禁用失败或者删除Redis失败需要回滚事务在Spring中有集成的事务只需要简单的配置下即可

角色管理

image-20241023091310533

权限管理

权限管理可以设置父级内容,在前端文件中有data.js,可以自动生成权限相关内容。

image-20241023091328271

前端文件

image-20241023091503966

部门管理

image-20241023092027273

系统配置

菜单图标

image-20241023092123926

邮件用户配置

发送邮件时,如果没有选定用户会去找默认用户,如果默认用户也没有会报错。

image-20241023092145274

邮件模板

邮箱验证码,

image-20241023092250382

模板类型说明

根据后端的枚举类进行返回

image-20241023092355799

后端文件

image-20241023092439168

系统监控

服务监控

服务监控来自springboot中actuator框架

image-20241023092520931

IDEA中也有集成只要使用了actuator包即可看到服务内容、健康检查等

详细参考官网API当然如果需要后台服监控页面德国工程师帮我们写了一个页面。

image-20241023092652996

也可以看到当前的请求API有哪些

image-20241023093159928

相关admin服务包

或许在有些服务中不需要这个页面,有服务监控的功能,配置也简单,我之前我使用在这个项目中,和部分业务功能有些冲突,与其这样不如自己写个简单的也可以


<dependency>
  <groupId>de.codecentric</groupId>
  <artifactId>spring-boot-admin-starter-server</artifactId>
  <version>3.3.4</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>3.2.3</version>
</dependency>

后台文件管理

用户上传的文件和头像内容都在这里文件存储位置在Minio中

image-20241023093247261

用户登录日志

image-20241023093317701

任务执行日志

当前设定的定时任务有关目前有数据库备份和简单的定时任务示例内容都在这使用JS对象可视化数据多时会有些卡顿

image-20241023093407627

定时任务

调度任务

其实就是定时任务集成框架quartz持久化存储任务

image-20241023093546293

任务调度分组

image-20241023093602223

多语言管理

多语言

image-20241023093639866

多语言类型

如果以后还需要其它语言可以在这个地方添加

image-20241023093654135

其它功能

image-20241023093729543

账户设置

image-20241023093749870

image-20241023093759347

image-20241023093807425

数据库事务

数据库事务在Springboot中只需要一个注解通常我们还需要redis事务在Redis中配置开启即可。

image-20241023094104297

去除字符串空格

在项目中会统一进行空白字符串去除配置项也在config文件夹下

image-20241023094247311

更多配置看这里

image-20241023094311326

Docker配置详情

如果想更改端口号,前面的对外访问的端口号,后面是容器也就是服务本身端口号 img.png

项目本身端口号 img.png

部署命令

docker build -f Dockerfile -t bunny_auth_web:1.0.0 . && docker run -p 80:80 --name bunny_auth_web --restart always bunny_auth_web:1.0.0 

展望未来

  1. 首页看板内容
  2. 服务器资源使用可视化展示
  3. 将文件上传服务改成本地的ossMinio感觉不需要未来会删除