快速修复登录问题.md 4.1 KB

快速修复登录问题指南

✅ 已修复的问题

  1. 端口配置修复 - 移除了 application.properties 中的空格
  2. CORS配置优化 - 改进了跨域配置
  3. 拦截器优化 - 确保所有请求都正确设置CORS头

🚀 立即执行以下步骤

步骤1: 重启后端服务 ⚠️ 必须执行

重要: 修改了后端代码后,必须重启后端服务!

  1. 停止当前后端服务

    • 如果是在IDE中运行的,点击停止按钮
    • 如果是在命令行运行的,按 Ctrl+C
  2. 重新启动后端服务

    cd book
    mvn spring-boot:run
    

或者在IDE中:

  • 找到 BookApplication.java
  • 右键点击,选择 "Run 'BookApplication.main()'"
  1. 等待启动完成

    • 看到类似日志说明启动成功:

      Tomcat started on port(s): 8001 (http)
      Started BookApplication in X.XXX seconds
      

步骤2: 启动前端服务

cd book/book-admin
npm run dev

前端服务会在 http://localhost:8002 启动

步骤3: 测试连接

  1. 访问测试页面(推荐):

    http://localhost:8002/pages/test-backend.html
    

点击所有测试按钮,查看详细结果

  1. 访问登录页面:

    http://localhost:8002/pages/login.html
    
  2. 使用管理员账号登录:

    • 用户名: admin
    • 密码: admin123

🔍 如果还是无法登录

检查1: 后端服务是否真的在运行

在浏览器中访问:

http://localhost:8001/api/admin/login

期望结果:

  • 如果返回 405 Method Not Allowed - ✅ 后端服务正在运行(这是正常的,因为这是GET请求)
  • 如果显示"无法访问此网站" - ❌ 后端服务未启动

检查2: 查看浏览器控制台

  1. 打开登录页面
  2. F12 打开开发者工具
  3. 点击 "Console" 标签
  4. 查看是否有红色错误信息
  5. 点击 "Network" 标签
  6. 尝试登录
  7. 查看登录请求的详细信息:
    • 请求URL是否正确: http://localhost:8001/api/admin/login
    • 请求方法: POST
    • 状态码: 应该是 200405
    • 响应内容: 查看返回的JSON

检查3: 检查数据库

确保数据库中有管理员账号:

SELECT * FROM users WHERE username = 'admin' AND role = 'admin';

如果不存在,需要创建:

INSERT INTO users (username, nickname, password, role, status) 
VALUES ('admin', '管理员', '0192023a7bbd73250516f069df18b500', 'admin', 1);

检查4: 查看后端日志

查看后端启动日志,确认:

  1. 端口是否为 8001
  2. 是否有错误信息
  3. 数据库连接是否成功

📝 常见错误及解决方案

错误1: "无法连接到后端服务"

原因: 后端服务未启动或端口错误

解决:

  1. 确认后端服务已启动
  2. 确认端口为 8001
  3. 确认防火墙没有阻止连接

错误2: "405 Method Not Allowed"

原因: 请求方法不正确

解决:

  1. 确认前端使用的是 POST 请求
  2. 确认 API URL 正确
  3. 重启后端服务

错误3: "CORS错误"

原因: 跨域配置问题

解决:

  1. 确认已重启后端服务(应用新的CORS配置)
  2. 查看浏览器控制台的详细错误信息
  3. 使用测试页面检查CORS配置

错误4: "用户名或密码错误"

原因: 数据库中没有管理员账号或密码错误

解决:

  1. 检查数据库中是否有管理员账号
  2. 确认密码是否正确(admin123的MD5值:0192023a7b
  3. 确认用户角色为 'admin'
  4. 确认用户状态为 1(启用)

🎯 验证步骤

完成以上步骤后,应该能够:

  1. ✅ 访问测试页面并看到"后端服务正在运行"
  2. ✅ 访问登录页面
  3. ✅ 使用 admin/admin123 成功登录
  4. ✅ 登录后跳转到书籍管理页面

📞 如果问题依然存在

请提供以下信息:

  1. 后端启动日志(完整的启动日志)
  2. 浏览器控制台错误(F12 -> Console)
  3. 网络请求详情(F12 -> Network -> 点击登录请求)
  4. 测试页面结果(test-backend.html 的测试结果)