# security-test **Repository Path**: erong_project/security-test ## Basic Information - **Project Name**: security-test - **Description**: SpringSecurity项目搭建-学习 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-26 - **Last Updated**: 2025-08-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 根据现有信息,以下是适用于该项目的 README.md 内容: --- # Security Test 项目 这是一个基于 Spring Boot 的安全测试项目,整合了 MyBatis、JWT、Redis 和 Swagger 等技术,用于构建安全的后端服务。项目主要实现了登录认证、权限控制以及用户管理等功能。 ## 技术栈 - Spring Boot - Spring Security - JWT(Json Web Token) - Redis - MyBatis Plus - Swagger 3.0 - MySQL ## 功能模块 - **用户认证与授权**:使用 Spring Security 提供安全认证功能,结合 JWT 实现无状态认证。 - **权限管理**:通过角色权限管理模块(sys_role_menu),实现细粒度的权限控制。 - **用户管理**:提供用户信息管理模块,支持增删改查等基础操作。 - **菜单管理**:支持菜单项的管理,可用于前端动态路由生成。 - **接口文档**:集成 Swagger 3.0,提供清晰的 API 文档和调试支持。 ## 项目结构 - `sql/`: 包含数据库脚本文件,如用户、角色、菜单等表结构。 - `src/main/java`: Java 源码目录,按模块划分。 - `com.karis.security`: 主应用入口。 - `com.karis.security.common`: 通用组件,如过滤器和响应封装。 - `com.karis.security.config`: 配置类,包含安全配置、Swagger 配置、Redis 序列化等。 - `com.karis.security.controller`: 控制器类,提供登录、登出等接口。 - `com.karis.security.entity`: 实体类,如用户、菜单等。 - `com.karis.security.mapper`: MyBatis Mapper 接口。 - `com.karis.security.service`: 业务逻辑接口及实现。 - `com.karis.security.utils`: 工具类,如 JWT 工具、Redis 工具等。 - `src/main/resources`: 配置文件和 MyBatis Mapper XML 文件。 ## 快速开始 1. **导入数据库** 使用 `/sql/` 文件夹中的 SQL 文件创建数据库表。 2. **配置 application.yml** 在 `application.yml` 中配置数据库、Redis 和 JWT 相关参数。 3. **启动项目** 运行 `SecurityApplication.java` 中的 `main` 方法启动 Spring Boot 项目。 4. **访问接口文档** 启动成功后,通过 `http://localhost:8080/swagger-ui.html` 查看并测试接口。 ## 使用说明 - **登录接口**:`POST /sys/login`,传入用户名和密码,返回 JWT Token。 - **登出接口**:`GET /sys/user/logout`,清除登录状态。 - **测试接口**:`GET /sys/hello`,需要拥有 `test` 权限。 - 使用 Redis 缓存用户登录信息和权限数据。 - 通过 `@PreAuthorize` 注解实现接口级别的权限控制。 ## 依赖管理 请查看 `pom.xml` 获取完整的 Maven 依赖配置。 ## 贡献指南 欢迎贡献代码!请确保遵循项目的代码规范,并提供必要的测试用例。 ## 开源许可 本项目采用 MIT 许可证。 --- 以上内容基于项目代码结构和功能组件编写,适合用于 Gitee 平台的 README.md 文件。