# LoggingSystem **Repository Path**: ZhuHJay/LoggingSystem ## Basic Information - **Project Name**: LoggingSystem - **Description**: 日志管理系统小Demo,SpringBoot+Vue3 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: v1 - **Homepage**: https://zhuhjay.xyz - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2022-03-29 - **Last Updated**: 2025-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: Vue, SpringBoot, MybatisPlus, SpringSecurity, JWT ## README #### 日志管理系统 v1 改良 master 版本, 将原先的 jwt 鉴权升级为 Spring Security + jwt 进行更为完善的权限控制, 进一步学习 Spring Security 框架的自定义前后端分离式登录. Spring Security的更多功能, 例如角色权限校验等等在此项目没有体现出来, 毕竟数据库不是很完善. ##### 改动 * 移除: - @AuthToken: 控制器注解, 标注即需要鉴权 - AuthTokenFilter: 鉴权过滤器, 将 token 进行解析, 将解析数据放入增强的 request 中, 方便后续使用 - AuthTokenInterceptor: 拦截器, 检查控制器是否携带 @AuthToken 注解 * 新增: - SecurityConfiguration: SpringSecurity框架的主要配置文件 - UserDetailServiceImpl: 根据登录用户名获取数据库中的用户登录信息(密码, 状态等), 用于后续的登录校验 - TokenLoginFilter: 继承UsernamePasswordAuthenticationFilter类, 用来自定义登录规则 - TokenVerifyFilter: 继承BasicAuthenticationFilter类, 用来登录过后token鉴权 ##### 关于自定义登录规则 该版本的自定义规则偏向于 SpringSecurity 框架的FilterChain执行机制, 还有一套使用自定义的`/login`控制器来实现, 可以参考 RouYi-Vue (膜拜各种技术大牛👍) ##### 包含有以下功能 1. 用户管理 1. 新增用户 2. 修改用户个人信息(没有单独添加系统模块, 存在于头像下拉框的`个人中心`) 3. 修改用户个人密码(没有单独添加系统模块, 存在于头像下拉框的`个人中心`) 2. 菜单管理 1. 没有其他功能, 只是展示效果而已(说实话没点子也没时间 OvO) 3. 日志管理 1. 登录日志 1. 查看登录的情况 2. 日志操作(删除, 搜索) 2. 操作日志 1. 查看操作的情况 2. 日志操作(删除, 搜索) ##### 技术选型 1. 前端UI 1. Vue3 2. ElementPlus 2. 后端逻辑 1. SpringBoot 2. MybatisPlus 3. JWT 4. SpringSecurity #### 安装运行配置 ##### 需要的环境 1. Node.js(本人使用v14版本) 2. Maven 3. JDK1.8 4. Mysql(v5) 5. Redis ##### 如需运行请按需修改如下配置 1. `/logging-boot`目录下的配置文件`application.yaml`(**必须修改项**: Redis, Mysql, profile资源目录) 2. `/logging-ui`目录下的配置文件`vue.config.js`(如若打包运行则无需配置, 使用nginx代理即可) ##### 前端安装详解(默认上面配置都完成) 1. npm直接运行: 1. 命令行进入`/logging-ui`目录, 先行安装: `npm i` 2. 执行`npm run serve` 2. 打包使用nginx代理: 1. 执行`npm run build` 2. 配置nginx反向代理`/api-pro`接口, 并且需要路径重写 ##### 后端安装详解(默认上面配置都完成) > 记得导入sql呢, 以及Redis配置 > > **还有一个注意事项**: 需要自行创建静态资源目录到配置文件`application.yaml`下的`profile资源目录`中创建一个文件夹`avatar`, 需要放置一个名为`default.jpg`的图片 > > 以上主要是需要目录`avatar`, 图片无所谓 1. 使用SpringBoot直接启动: 1. 打开IDEA 2. 运行`/logging-boot/src/main/java/com/zhuhjay/LoggingBootApplication.java` 2. 使用maven将项目打成jar: * 注意: 打包过程会进行test包下的@Test进行执行, 执行不通过则打包不通过哦 1. 命令行打开根目录执行maven命令进行打包: `mvn clean package` 2. `/logging-boot/target`目录下的jar包运行`java -jar logging-boot-1.0.0.jar` 3. 如果使用服务器挂起, 需要使用`nohup java -jar logging-boot-1.0.0.jar &` #### 效果展示 ![image-20231021172350130](resources/image-20231021172350130.png) ![image-20231021172421670](resources/image-20231021172421670.png) ![image-20231021172449532](resources/image-20231021172449532.png) ![image-20231021172541588](resources/image-20231021172541588.png) ![image-20231021172602123](resources/image-20231021172602123.png) ![image-20231021172613118](resources/image-20231021172613118.png)