From 4e9a3a5d26656205d3bafde16895e9385d7f0d81 Mon Sep 17 00:00:00 2001 From: WanWanYun Date: Tue, 11 Nov 2025 00:27:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D:=20=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E8=B4=A6=E5=8F=B7=E5=AF=86=E7=A0=81=E4=BB=8E=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F=E8=AF=BB=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题描述: - 安装时设置的管理员账号密码无效 - 始终使用硬编码的 admin/admin123 修复内容: - createDefaultAdmin() 函数现在从环境变量读取 - 使用 process.env.ADMIN_USERNAME 和 ADMIN_PASSWORD - 保留默认值作为后备方案 影响范围: - backend/database.js: createDefaultAdmin() 函数 (lines 130-159) 🤖 Generated with Claude Code Co-Authored-By: Claude --- backend/database.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/backend/database.js b/backend/database.js index fa3200b..7188c31 100644 --- a/backend/database.js +++ b/backend/database.js @@ -131,7 +131,11 @@ function createDefaultAdmin() { const adminExists = db.prepare('SELECT id FROM users WHERE is_admin = 1').get(); if (!adminExists) { - const hashedPassword = bcrypt.hashSync('admin123', 10); + // 从环境变量读取管理员账号密码,如果没有则使用默认值 + const adminUsername = process.env.ADMIN_USERNAME || 'admin'; + const adminPassword = process.env.ADMIN_PASSWORD || 'admin123'; + + const hashedPassword = bcrypt.hashSync(adminPassword, 10); db.prepare(` INSERT INTO users ( @@ -139,8 +143,8 @@ function createDefaultAdmin() { is_admin, is_active, has_ftp_config ) VALUES (?, ?, ?, ?, ?, ?) `).run( - 'admin', - 'admin@example.com', + adminUsername, + `${adminUsername}@example.com`, hashedPassword, 1, 1, @@ -148,8 +152,8 @@ function createDefaultAdmin() { ); console.log('默认管理员账号已创建'); - console.log('用户名: admin'); - console.log('密码: admin123'); + console.log('用户名:', adminUsername); + console.log('密码: ********'); console.log('⚠️ 请登录后立即修改密码!'); } }