# user-auth-system **Repository Path**: xgyharmony/user-auth-system ## Basic Information - **Project Name**: user-auth-system - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-22 - **Last Updated**: 2025-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 用户认证系统 - Java异常处理实验项目 ## 项目简介 这是一个完整的用户注册和登录系统,重点演示Java异常处理机制在实际项目中的应用。项目采用Spring Boot后端和Vue.js前端,实现了完整的用户认证流程。 ## 技术栈 ### 后端技术 - **Java 17**: 编程语言 - **Spring Boot 3.2.0**: 应用框架 - **Spring Data JPA**: 数据持久化 - **MySQL 8.0**: 数据库 - **Maven**: 依赖管理 ### 前端技术 - **Vue.js 3**: 前端框架 - **Bootstrap 5**: UI框架 - **Axios**: HTTP客户端 - **Font Awesome**: 图标库 ## 功能特性 ### 用户注册 - 用户名唯一性验证 - 密码强度验证(至少6位,包含字母和数字) - 实时表单验证 - 自定义异常处理 ### 用户登录 - 用户名密码验证 - 友好的错误提示 - 会话管理 ### 异常处理 - 自定义业务异常 - 全局异常处理 - 统一的API响应格式 - 详细的错误日志 ## 项目结构 ``` user-auth-system/ ├── backend/ # Spring Boot后端 ├── frontend/ # Vue.js前端 ├── database/ # 数据库脚本 ├── docs/ # 项目文档 └── scripts/ # 启动脚本 ``` ## 快速开始 ### 环境要求 - JDK 17+ - MySQL 8.0+ - Node.js (用于前端开发服务器) ### 数据库设置 1. 创建MySQL数据库 2. 运行 `database/init.sql` 脚本 3. 修改 `application.properties` 中的数据库配置 ### 后端启动 ```bash cd backend mvn spring-boot:run ``` ### 前端启动 ```bash cd frontend # 使用Python HTTP服务器 python -m http.server 8080 # 或使用Node.js http-server npx http-server -p 8080 ``` ### 访问应用 打开浏览器访问: http://localhost:8080 ## API接口 ### 用户注册 - **URL**: `POST /api/auth/register` - **参数**: ```json { "username": "string", "password": "string", "email": "string" } ``` ### 用户登录 - **URL**: `POST /api/auth/login` - **参数**: ```json { "username": "string", "password": "string" } ``` ### 健康检查 - **URL**: `GET /api/auth/health` ## 异常类型 1. **UsernameAlreadyExistsException**: 用户名已存在 2. **InvalidPasswordException**: 密码不符合要求 3. **InvalidLoginException**: 登录信息错误 ## 开发特性 - 完整的日志记录 - 输入参数验证 - 跨域支持 - 响应式设计 - 代码注释完整 ## 学习要点 本项目重点演示: 1. Java异常处理机制 2. try/catch/finally使用 3. throws/throw语句应用 4. 自定义异常设计 5. 全局异常处理 6. RESTful API设计 7. 前后端分离架构 ## 配置后端服务地址 当使用内网穿透且前后端在不同域名时,需要配置后端服务地址: 1. 打开前端页面 2. 如果不是在 localhost 访问,页面顶部会显示"后端服务地址"区域 3. 点击"设置"按钮 4. 在弹出的对话框中输入后端服务地址(如: https://31da951a.r37.cpolar.top) 5. 点击"保存"按钮 6. 刷新页面使配置生效 注意: 内网穿透地址会定期变化,需要及时更新配置。