mySQL工程管理系统代码_开源一套简单通用的后台管理系统

前言

前段时间我们写一个简单的后台模板SpringBoot系列——Security + Layui实现一套权限管理后台模板,今天我们把它完善成一个简单通用的后台管理系统,我把它叫做:Base Admin

这套Base Admin是一套简单通用的后台管理系统,主要功能有:权限管理、菜单管理、用户管理,系统设置、实时日志,API加密,以及登录用户修改密码、配置个性菜单等

技术栈

前端:layui

java后端:SpringBoot + Thymeleaf + WebSocket + Spring Security + SpringData-Jpa + MySql

工程结构说明

java部分、html、js、css部分都是大目录下面按单表一个子目录存放

bb1f22e13937be10e6874858462d68b0.png

b3d84cfc99834048b81387cea213bb3d.png

功能演示

登录

(为了方便演示,密码输入框的类型改成text)

配置文件分支选择,dev环境无需输入验证码

537020d0d1c3c49a8c4726d0db05c3d1.png

dcda9735f13e04e4fa27e31d41c8b1cd.png

同时支持多种登录限制

允许/禁止账号多人在线

c3a2d481e6894a87fbd4d928d48c0665.png

软删除

fcfe2ee337c30fa30194677670a2e7d3.png

限制登录IP地址

de0d1d3b0f2fc068416d0b7dcc5813ec.png

账号过期

b473baae0dc0153f7430333e366f0341.png

更多登录限制,还可以继续扩展

系统设置

一下简单的系统属性设置,想支持更多的配置可自行扩展(比如这里的:用户管理初始、重置密码)

4ae0028e2415fc35463c4de938ce370c.png

菜单管理

菜单管理是一棵layui的Tree

增删改

e5dc29197e68e37a4dbef5a94910f5d4.png

权限管理

增删改查

6485825f43074002c1bb3cab22d5d0ff.png

动态权限加载

权限的加载并不是写死在代码,而是动态从数据库读取,每次调用save方法时更新权限集合

1、妲己是ROLE_USER权限,权限内容为空,无权访问/sys/下面的路径(http://localhost:8888/sys/sysUser/get/1)

2、使用sa超级管理员进行权限管理编辑,给ROLE_USER的权限内容添加 /sys/**,妲己立即有权限访问(http://localhost:8888/sys/sysUser/get/1)

f9d219e857d3c90095d2ad38e3d03a16.png

用户管理

主要包括用户信息、登录限制的维护,菜单、权限的分配等

355b54d2de1e5626ada03da8f0321a2b.png

修改用户权限是下一次登录生效

f24f90abf4fa0cbb879ba5de2b301ea9.png

修改用户菜单是刷新系统即可生效

b2ebd42527e528ecb787c1c1654548cf.png

登录用户信息

基本信息

登录用户只能修改部分信息,例如名称、修改密码

fd231c07fba13e1db026711610f0e0a3.png

修改密码

密码使用的是MD5加密并转换为16进制字符串存储,用户除了能主动修改密码外,还能叫管理员重置密码

e66c067606137b4c54ee2009ed9bd967.png

1a2aa7c0dbef7594bea1a47227915697.png

728c8c2c4236ff5d774453f2ff435aef.png

ac0d84c5caab152f62476750b5a7cbaa.png

个性菜单

用户可以自行配置自己的个性化快捷菜单

5ef863db06842e6d9bbc089782818bcb.png

实时日志

671110c3bf2143691655f3449f09f2a3.png

API加密

请求参数加密

2eb0df63a474c3537e4fe4685be9f303.png

响应数据加密

2a511aab5b9aae5bc022d26b5dad7fbd.png

关键点讲解

1、定制url访问权限,动态权限读取,需要自定义配置认证数据源、认证管理器、拦截器,详情步骤请参考:https://www.jianshu.com/p/0a06496e75ea;

2、API加密中,由于登录校验是Spring Security做的,因此我们要在UsernamePasswordAuthenticationFilter获取账号、密码之前完成解密操作,正好我们的校验验证码操作就是在它之前,同时要做响应数据的加密操作,所以登录部分的API加密光按照我们之前的博客来还是不够的,需要在CaptchaFilterConfig进行解密操作,解密后new一个自定义RequestWrapper设置Parameter,并将这个新对象传到doFilter交由下一步处理

后记

这个只是一个比较简单通用的后台系统,如果加入工作流,就可以升级成基础平台,为简化业务开发,将部分通用系统功能整理成独立项目,具体业务功能通过iframe嵌入

代码开源

注:数据库文件在resources/static/sql目录下面

代码已经开源、托管到我的GitHub、码云:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值