# admin-damo-java **Repository Path**: strivezhangp/admin-damo-java ## Basic Information - **Project Name**: admin-damo-java - **Description**: Java通用后台权限分配系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-13 - **Last Updated**: 2024-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Admin-Java通用后台权限管理系统 ## 项目介绍 ​ spring-boot项目练手,构建了一个通用后台管理系统的后端接口,主要从4个方面出发,security配置、controller层、service层、entity层。实现了以下功能: - 用户登录 - Cors 简单的跨域、请求拦截的处理 - 密码加密校验 - JWT 用户权限认证 - Spring-Security 登录校验、访问控制 - 动态验证码的生成及验证 - 用户头像等信息获取 - redis缓存用户权限信息 - 接口开发 - 基本接口(增删改查)的开发 - MybatisPlus代码自动生成 - 针对Mysql数据库的操作,涉及多个表的连接查询等 - 用户权限分配以及部分接口调用时的权限校验 - DTO 的定义以及使用 - 用户登出 1. 清除缓存信息 - 用户信息修改 - 密码验证以及加密处理 ## 相关依赖介绍 | 依赖名称 | 版本 | 作用 | 详细说明 | | :------------------------------: | :---------------: | :--------------------------------: | :----------------------------------------------------------: | | **Spring Boot相关依赖** | | | | | `spring-boot-starter-web` | 继承自Spring Boot | 用于构建Web应用的Spring Boot启动器 | 提供Spring MVC、Tomcat等Web应用的基础配置 | | `spring-boot-devtools` | 继承自Spring Boot | 提供开发时工具,如自动重启等 | 简化开发流程,提高开发效率 | | `spring-boot-starter-test` | 继承自Spring Boot | 提供Spring Boot项目测试依赖 | 包含JUnit、Mockito等测试框架,便于编写单元测试和集成测试 | | `spring-boot-starter-security` | 继承自Spring Boot | 提供Spring Boot应用的安全支持 | 支持基于角色的访问控制、认证等功能 | | `spring-boot-starter-data-redis` | 继承自Spring Boot | 提供Redis数据访问支持 | 简化Redis的配置和使用,支持连接池、序列化等功能 | | **数据库与ORM相关依赖** | | | | | `mysql-connector-java` | 最新稳定版 | MySQL数据库JDBC驱动 | 用于连接MySQL数据库,实现数据的CRUD操作 | | `mybatis-plus-boot-starter` | 3.4.1 | MyBatis-Plus的Spring Boot启动器 | 简化MyBatis配置和使用,提供丰富的CRUD操作功能 | | **模板与视图相关依赖** | | | | | `freemarker` | 2.3.30 | FreeMarker模板引擎 | 用于生成HTML、XML或其他文本文件,支持模板继承和自定义函数 | | **工具与辅助库** | | | | | `lombok` | 最新稳定版 | 简化Java类的样板代码 | 通过注解自动生成getter、setter、toString等方法,减少代码冗余 | | `jjwt` | 0.9.1 | Java JWT库 | 用于生成和验证JWT令牌,支持自定义声明和签名算法 | | `jaxb-api` | 2.3.1 | JAXB API | 用于Java对象和XML之间的转换,支持注解和自定义绑定 | | `kaptcha` | 0.0.9 | 验证码图片生成器 | 生成包含随机字符和干扰元素的验证码图片,提高网站安全性 | | `hutool-all` | 5.3.3 | Hutool工具类集合 | 包含大量常用的工具类和方法,如日期处理、文件操作、网络请求等 | | `commons-lang3` | 3.11 | Apache Commons Lang库 | 提供辅助Java核心类的方法,如字符串处理、数组操作、反射工具等 | ### 详细介绍 - **`jjwt`**: Java JWT库是一个用于生成和验证JSON Web Tokens(JWT)的Java库。JWT是一种开放的安全标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。这些信息可以被验证和信任,因为它们是数字签名的。JWT可以用于身份验证、信息交换等场景。 - **`kaptcha`**: Kaptcha是一个Java实现的验证码生成工具,它可以生成包含随机字符和干扰元素的图片验证码,用于提高网站的安全性,防止自动化脚本的攻击。Kaptcha支持自定义验证码的样式、字符集、长度等参数,方便用户根据实际需求进行调整。 - **`hutool-all`**: Hutool是一个Java工具包,它提供了大量实用的工具类和方法,旨在简化Java开发过程。Hutool包含了日期处理、文件操作、网络请求、图片处理、加密解密、反射工具、数据库操作等多种功能,方便开发者快速构建高效、稳定的Java应用。 ## 开发环境 - Spring-Boot -- 2.4.0 - Mysql -- 8.0.25 - Redis 本地缓存处理 ## 项目结构 ![image-20240417222618952](./images/image-20240417222618952.png) ## 安装与启动 ### 安装依赖与运行项目 ``` // 拉取项目 git clone https://gitee.com/strivezhangp/admin-damo-web.git // 安装依赖 使用Maven更新相关依赖项 // 配置数据库源 项目端口等 在 application.yaml 文件 server: port: 8081 # spring框架的一些相关配置 spring: # 数据库相关配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/vueadmin?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC username: **** password: **** ``` ## 运行效果 ### 登录页面 用户登录、图片验证码校验实现。 ![image-20240414152233103](./images/image-20240414152233103.png) ### 用户管理 实现了用户的增删改查,以及权限分配、重置密码、批量删除、按照用户名搜索等功能。 ![image-20240415123557454](./images/image-20240415123557454.png) ### 角色管理 实现角色的分配、增删改查等操作。 ![image-20240415123931390](./images/image-20240415123931390.png) ### 菜单管理 实现了菜单的树形展示、新增菜单等操作。 ![image-20240415123950297](./images/image-20240415123950297.png) ### 用户信息及登出 Header部分,展示了用户头像以及个人中心、用户登出等功能。 ![image-20240415124035850](./images/image-20240415124035850.png) ## 贡献指南 教程贡献:https://gitee.com/markerhub/VueAdmin.git ## 联系信息 前端采用VUE+TS编程语言,仓库如下:https://gitee.com/strivezhangp/admin-damo-web.git