# springboot3-bucket **Repository Path**: make-mm/springboot3-bucket ## Basic Information - **Project Name**: springboot3-bucket - **Description**: springboot3 日常使用到的功能汇总 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-09 - **Last Updated**: 2025-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringBoot3 安全认证项目 ## 项目简介 这是一个基于 Spring Boot 3 的安全认证项目,提供了基础的认证、权限控制和用户管理功能。项目分为两个模块: - `base-website`: 基础网站模块,包含认证、用户管理、任务管理和通知等功能 - `springboot-security`: 安全模块,提供完整的安全认证框架和权限控制系统 ## 主要功能 - JWT 令牌认证 - 基于角色的访问控制 (RBAC) - 用户登录/登出 - 接口权限控制 - 分页查询功能 - 异常统一处理 - Redis 缓存集成 - OpenAPI 文档支持 ## 技术栈 - Spring Boot 3 - Spring Security - JWT - MyBatis Plus - Redis - OpenAPI 3 - Knife4j - MySQL ## 模块说明 ### base-website 模块 提供基础的网站功能,包含: - 用户认证 (登录/登出) - 用户管理 - 任务管理 - 通知系统 - 安全配置 - 统一结果返回 ### springboot-security 模块 提供完整的安全框架,包含: - JWT 令牌管理 - 权限验证服务 - 用户详情服务 - 安全过滤链 - 角色权限管理 - 安全上下文工具 ## 快速开始 ### 环境要求 - Java 17 或更高版本 - Maven 3.5+ - MySQL 5.7+ - Redis 6.0+ ### 安装步骤 1. 克隆项目 ```bash git clone https://gitee.com/make-mm/springboot3-bucket.git ``` 2. 创建数据库并导入 SQL 文件 ```bash mysql -u your_username -p your_database < base-website/sql.mysql/task_flow.sql ``` 3. 修改配置文件 ```yaml # 修改 base-website/src/main/resources/application.yml spring: datasource: url: jdbc:mysql://localhost:3306/your_database username: your_username password: your_password ``` 4. 启动项目 ```bash mvn clean install mvn spring-boot:run ``` ## 接口文档 访问以下地址查看 API 文档: ``` http://localhost:8080/swagger-ui/index.html ``` ## 安全配置 项目使用 JWT 进行身份验证,配置文件中可设置: - 令牌有效期 - 刷新令牌有效期 - 密钥 - 多登录支持 ## 权限控制 使用 `@PreAuthorize` 注解进行方法级权限控制: ```java @PreAuthorize("@ss.hasPerm('sys:user:query')") ``` 权限服务自动从 Redis 缓存加载角色权限信息 ## 用户管理 提供以下用户管理功能: - 用户分页列表 - 用户详情查询 - 新增用户 - 更新用户信息 - 删除用户 ## 异常处理 统一的异常处理机制,支持: - 业务异常处理 - 参数验证异常处理 - SQL 异常处理 - JWT 认证异常处理 ## 扩展建议 您可以基于此项目进行以下扩展: - 添加更多业务模块 - 集成短信/邮件服务 - 添加审计日志功能 - 实现多租户支持 - 添加 OAuth2 支持 ## 贡献指南 欢迎贡献代码,请遵循以下步骤: 1. Fork 项目 2. 创建新分支 3. 提交代码 4. 创建 Pull Request ## 许可证 本项目采用 MIT 许可证,请查看 LICENSE 文件获取详细信息。