From b2a590cbdf787a0b60fca9293d9f20ca0c963fc3 Mon Sep 17 00:00:00 2001 From: lzh Date: Thu, 22 Jan 2026 16:41:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=AE=A1=E7=90=86=E5=91=98=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E6=94=AF=E6=8C=81=E4=BB=8E=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改环境变量 ADMIN_PASSWORD 后重启容器即可生效,无需删除数据库 Co-Authored-By: Claude Opus 4.5 --- src/vitals/web/app.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/vitals/web/app.py b/src/vitals/web/app.py index b5b268f..4990afc 100644 --- a/src/vitals/web/app.py +++ b/src/vitals/web/app.py @@ -23,7 +23,7 @@ db.migrate_auth_fields() # 迁移认证字段 def ensure_admin_user(): - """确保管理员账户存在(从环境变量创建)""" + """确保管理员账户存在,密码与环境变量同步""" admin_username = os.environ.get("ADMIN_USERNAME") admin_password = os.environ.get("ADMIN_PASSWORD") @@ -32,17 +32,22 @@ def ensure_admin_user(): # 检查是否已存在该用户名 existing = db.get_user_by_name(admin_username) + new_password_hash = hash_password(admin_password) + if existing: - # 用户已存在,确保是管理员 + # 用户已存在,同步密码(环境变量优先) if not existing.is_admin: existing.is_admin = True + if existing.password_hash != new_password_hash: + existing.password_hash = new_password_hash db.update_user(existing) + print(f"[Vitals] 管理员密码已从环境变量同步") return # 创建管理员账户 admin_user = User( name=admin_username, - password_hash=hash_password(admin_password), + password_hash=new_password_hash, is_admin=True, is_active=True, is_disabled=False,