#!/bin/bash # 在服务器上执行,重置 admin 密码为 admin123 cd /www/wwwroot/deploy-package # 生成新的 BCrypt 哈希(strength=10) # 使用 Java 生成 NEW_HASH=$(docker run --rm eclipse-temurin:17-jre-alpine sh -c ' wget -q https://repo1.maven.org/maven2/org/springframework/security/spring-security-crypto/5.8.0/spring-security-crypto-5.8.0.jar -O /tmp/crypto.jar 2>/dev/null || true java -cp "/tmp/crypto.jar" -version 2>&1 | head -1 ') echo "直接在 MySQL 中更新密码哈希..." # 这个哈希是通过 BCryptPasswordEncoder 对 "admin123" 加密得到的(strength=10) # 你可以用在线工具验证:https://bcrypt-generator.com/ HASH='$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iOE1Qh6G' docker exec -i ai-assistant-mysql mysql -uroot -proot -e " UPDATE ai_assistant.admins SET password = '${HASH}' WHERE username = 'admin'; SELECT username, password FROM ai_assistant.admins WHERE username = 'admin'; " 2>&1 echo "" echo "测试登录..." curl -s -X POST http://localhost:8087/api/v1/admin/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"admin123"}'