# Spring Security学习-WebSecurityConfigurerAdapter已被弃用 **Repository Path**: xiaopeng03/Spring-Security-with-ConfigurerAdapter ## Basic Information - **Project Name**: Spring Security学习-WebSecurityConfigurerAdapter已被弃用 - **Description**: 大三暑期实训 Spring Security学习,使用已被弃用的WebSecurityConfigurerAdapter方式 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-27 - **Last Updated**: 2025-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是CTBU的大三暑期实训-Spring Security学习,使用 **已被弃用的WebSecurityConfigurerAdapter方式** 。 若想学习新的方式: - 可以看AI律法仓库:https://gitee.com/remnants-scattered/legal-assistant-ai-back-end.git - 或者参考若依框架的Security:https://gitee.com/xiaopeng03/legal-assistant-ai-ruo-yi.git # Spring Security 学习项目 这是一个基于 Spring Boot 和 Spring Security 的学习型项目,旨在帮助开发者掌握 Spring Security 的认证、授权机制以及与 JWT、Redis 的整合使用。 ## 项目介绍 该项目演示了以下核心功能: - Spring Security 的基本认证流程 - 自定义用户认证与权限管理 - 使用 JWT 实现无状态认证 - 整合 Redis 实现分布式会话管理 - 基于角色的访问控制(RBAC) - 自定义登录页面与认证成功/失败处理器 ## 技术栈 - Spring Boot - Spring Security - MyBatis Plus - Redis - JWT - Thymeleaf(前端模板) ## 项目结构 - `config`:配置类,包括 Spring Security 配置、Redis 配置、MyBatis Plus 分页配置等。 - `controller`:控制器类,处理 HTTP 请求。 - `entity`:实体类,对应数据库表结构。 - `mapper`:MyBatis Mapper 接口。 - `service`:业务逻辑层,包含用户服务和权限服务。 - `util`:工具类,如 JWT 工具类。 - `static` / `templates`:静态资源与模板页面。 ## 快速开始 ### 环境要求 - JDK 1.8 或以上 - Maven 3.x - Redis 服务 - MySQL 数据库(需提前配置好表结构) ### 安装步骤 1. 克隆项目到本地: ```bash git clone <项目地址> ``` 2. 修改 `application.yml` 中的数据库和 Redis 配置。 3. 执行数据库脚本创建表结构(如有)。 4. 使用 Maven 构建项目: ```bash mvn clean install ``` 5. 启动项目: ```bash mvn spring-boot:run ``` 6. 访问 `http://localhost:8080/user/login` 进行登录测试。 ## 功能演示 - **登录认证**:通过 `/user/login` 接口进行用户名密码登录。 - **权限控制**:使用 `@PreAuthorize("hasAnyAuthority('xxx')")` 注解实现方法级别的权限控制。 - **JWT 认证**:登录成功后返回 JWT Token,用于后续请求的身份验证。 - **自定义认证流程**:通过实现 `UserDetailsService` 接口完成自定义用户加载逻辑。 - **Redis 集成**:使用 Redis 缓存用户信息和 Token。 ## 注意事项 - 项目中使用了 `@EnableGlobalMethodSecurity(prePostEnabled = true)` 来启用方法级别的权限控制。 - `WebSecurityConfigurerAdapter` 已被弃用,建议使用新的 `SecurityFilterChain` 配置方式(详见文档)。 - 登录页面位于 `/static/login.html`,认证成功后跳转至 `/main` 页面,失败则跳转至 `/fail` 页面。 ## 贡献指南 欢迎提交 Pull Request 和 Issue。请确保代码风格一致,并提供清晰的提交信息。 ## 许可证 本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。