百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

一套通用的Java后台管理系统,拿来即用,非常方便(附项目地址)

ztj100 2025-01-19 02:00 29 浏览 0 评论

前言

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

技术栈

前端:layui

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

工程结构说明

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

附上我历时三个月总结的 Java 面试 + Java 后端技术学习指南,笔者这几年及春招的总结,github 1.4k star,拿去不谢!

下载方式


2. 后台私信·回复「学习」即可获取

运行预览

效果先睹为快,具体介绍在下方,按功能点进行详情介绍

功能演示

登录

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

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

同时支持多种登录限制

允许/禁止账号多人在线

软删除

限制登录IP地址

账号过期

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

系统设置

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

系统设置新增部分功能,详见文末“补充更新”。

推荐阅读:设计模式入门

菜单管理

菜单管理是一棵layui的Tree

增删改

权限管理

增删改查

动态权限加载

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

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

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

用户管理

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

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

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

用户管理新增“当前在线用户”管理,详见文末“补充更新”。

推荐阅读:设计模式入门

登录用户信息

基本信息

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

修改密码

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

个性菜单

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

实时日志

使用websocket,实时将日志输出到web页面,1秒刷新一次

注意:这里的日志配置只配置了dev环境,prod环境尚未为空,发布生产环境前记得先配置,否则生成的日志文件将不会输入日志内容!


实时监控

实时监控的是系统硬件环境、以及jvm运行时内存,注:因本人暂无Linux环境,所以只测试了windows环境,有问题请及时反馈,谢谢!

使用websocket,实时将数据输出到web页面,1秒刷新一次

API加密

请求参数加密

响应数据加密

1、系统设置新增API加密开关,可一键关闭、开启API加密;

开启API加密

关闭API加密

关键点讲解

1、定制url访问权限,动态权限读取,需要自定义配置认证数据源、认证管理器、拦截器,详情步骤请参考:

https://www.jianshu.com/p/0a06496e75ea;

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

3、还是API加密问题,我们是在程序启动的时候生成后端RSA秘钥对,正常来说我们在访问登录页面进行登录的时候前端获取一下就可以了,但在开发环境中,我们通常开启热部署功能,改完代码程序可能会自动重启,但登录用户信息仍然保持在本地线程,系统依旧处于登录状态没有跳转到登录页面,导致后端公钥已经改变,但前端依旧用的是旧的后端公钥,所有导致加解密失败;解决:在访问index首页时也获取一下后端公钥,这样在开发的时候idea热部署后刷新页面就可以了(已提交最新代码,解决热部署后刷新页面还是API加解密失败问题;现在热部署后刷新页面即可)

更新

1、新增百度富文本的使用,但还没配置上传接口:

UEditor文档: http://fex.baidu.com/ueditor/#start-start

对应字段类型,mysql要改成longtext

2、新增“”记住我“”功能,也就是rememberMe,原理以及源码探究请看这位大佬的博客:

https://blog.csdn.net/qq_37142346/article/details/80114609

3、系统设置新增系统颜色,头部、左侧菜单的颜色可按心情切换(SQL文件已同步更新)

4、用户管理模块新增“当前在线用户”管理,可实时查看当前在线用户,以及对当前在线用户进行强制下线操作

代码地址

前言

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

技术栈

前端:layui

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

工程结构说明

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

附上我历时三个月总结的 Java 面试 + Java 后端技术学习指南,笔者这几年及春招的总结,github 1.4k star,拿去不谢!

下载方式

1. 首先扫描下方二维码

2. 后台回复「Java面试」即可获取

运行预览

效果先睹为快,具体介绍在下方,按功能点进行详情介绍

功能演示

登录

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

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

同时支持多种登录限制

允许/禁止账号多人在线

软删除

限制登录IP地址

账号过期

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

系统设置

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

系统设置新增部分功能,详见文末“补充更新”。

推荐阅读:设计模式入门

菜单管理

菜单管理是一棵layui的Tree

增删改

权限管理

增删改查

动态权限加载

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

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

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

用户管理

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

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

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

用户管理新增“当前在线用户”管理,详见文末“补充更新”。

推荐阅读:设计模式入门

登录用户信息

基本信息

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

修改密码

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

个性菜单

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

实时日志

使用websocket,实时将日志输出到web页面,1秒刷新一次

注意:这里的日志配置只配置了dev环境,prod环境尚未为空,发布生产环境前记得先配置,否则生成的日志文件将不会输入日志内容!


实时监控

实时监控的是系统硬件环境、以及jvm运行时内存,注:因本人暂无Linux环境,所以只测试了windows环境,有问题请及时反馈,谢谢!

使用websocket,实时将数据输出到web页面,1秒刷新一次

API加密

请求参数加密

响应数据加密

1、系统设置新增API加密开关,可一键关闭、开启API加密;

开启API加密

关闭API加密

关键点讲解

1、定制url访问权限,动态权限读取,需要自定义配置认证数据源、认证管理器、拦截器,详情步骤请参考:

https://www.jianshu.com/p/0a06496e75ea;

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

3、还是API加密问题,我们是在程序启动的时候生成后端RSA秘钥对,正常来说我们在访问登录页面进行登录的时候前端获取一下就可以了,但在开发环境中,我们通常开启热部署功能,改完代码程序可能会自动重启,但登录用户信息仍然保持在本地线程,系统依旧处于登录状态没有跳转到登录页面,导致后端公钥已经改变,但前端依旧用的是旧的后端公钥,所有导致加解密失败;解决:在访问index首页时也获取一下后端公钥,这样在开发的时候idea热部署后刷新页面就可以了(已提交最新代码,解决热部署后刷新页面还是API加解密失败问题;现在热部署后刷新页面即可)

更新

1、新增百度富文本的使用,但还没配置上传接口:

UEditor文档: http://fex.baidu.com/ueditor/#start-start

对应字段类型,mysql要改成longtext

2、新增“”记住我“”功能,也就是rememberMe,原理以及源码探究请看这位大佬的博客:

https://blog.csdn.net/qq_37142346/article/details/80114609

3、系统设置新增系统颜色,头部、左侧菜单的颜色可按心情切换(SQL文件已同步更新)

4、用户管理模块新增“当前在线用户”管理,可实时查看当前在线用户,以及对当前在线用户进行强制下线操作


代码地址

转发+关注后私信(学习)获取!

相关推荐

其实TensorFlow真的很水无非就这30篇熬夜练

好的!以下是TensorFlow需要掌握的核心内容,用列表形式呈现,简洁清晰(含表情符号,<300字):1.基础概念与环境TensorFlow架构(计算图、会话->EagerE...

交叉验证和超参数调整:如何优化你的机器学习模型

准确预测Fitbit的睡眠得分在本文的前两部分中,我获取了Fitbit的睡眠数据并对其进行预处理,将这些数据分为训练集、验证集和测试集,除此之外,我还训练了三种不同的机器学习模型并比较了它们的性能。在...

机器学习交叉验证全指南:原理、类型与实战技巧

机器学习模型常常需要大量数据,但它们如何与实时新数据协同工作也同样关键。交叉验证是一种通过将数据集分成若干部分、在部分数据上训练模型、在其余数据上测试模型的方法,用来检验模型的表现。这有助于发现过拟合...

深度学习中的类别激活热图可视化

作者:ValentinaAlto编译:ronghuaiyang导读使用Keras实现图像分类中的激活热图的可视化,帮助更有针对性...

超强,必会的机器学习评估指标

大侠幸会,在下全网同名[算法金]0基础转AI上岸,多个算法赛Top[日更万日,让更多人享受智能乐趣]构建机器学习模型的关键步骤是检查其性能,这是通过使用验证指标来完成的。选择正确的验证指...

机器学习入门教程-第六课:监督学习与非监督学习

1.回顾与引入上节课我们谈到了机器学习的一些实战技巧,比如如何处理数据、选择模型以及调整参数。今天,我们将更深入地探讨机器学习的两大类:监督学习和非监督学习。2.监督学习监督学习就像是有老师的教学...

Python教程(三十八):机器学习基础

...

Python 模型部署不用愁!容器化实战,5 分钟搞定环境配置

你是不是也遇到过这种糟心事:花了好几天训练出的Python模型,在自己电脑上跑得顺顺当当,一放到服务器就各种报错。要么是Python版本不对,要么是依赖库冲突,折腾半天还是用不了。别再喊“我...

超全面讲透一个算法模型,高斯核!!

...

神经网络与传统统计方法的简单对比

传统的统计方法如...

AI 基础知识从0.1到0.2——用“房价预测”入门机器学习全流程

...

自回归滞后模型进行多变量时间序列预测

下图显示了关于不同类型葡萄酒销量的月度多元时间序列。每种葡萄酒类型都是时间序列中的一个变量。假设要预测其中一个变量。比如,sparklingwine。如何建立一个模型来进行预测呢?一种常见的方...

苹果AI策略:慢哲学——科技行业的“长期主义”试金石

苹果AI策略的深度原创分析,结合技术伦理、商业逻辑与行业博弈,揭示其“慢哲学”背后的战略智慧:一、反常之举:AI狂潮中的“逆行者”当科技巨头深陷AI军备竞赛,苹果的克制显得格格不入:功能延期:App...

时间序列预测全攻略,6大模型代码实操

如果你对数据分析感兴趣,希望学习更多的方法论,希望听听经验分享,欢迎移步宝藏公众号...

AI 基础知识从 0.4 到 0.5—— 计算机视觉之光 CNN

...

取消回复欢迎 发表评论: