fix(security): JWT密钥与默认账号改用环境变量,清理泄露凭据
- JWT_SECRET_KEY 改从环境变量读取,未设置时使用临时随机密钥并告警 - 默认管理员账号密码改用 ADMIN_USERNAME/ADMIN_PASSWORD 环境变量配置 - 移除登录页及启动/部署脚本中的默认密码明文提示 - docker-compose.yml 添加环境变量支持(从 .env 文件读取) - 新增 .env.example 配置文档,.gitignore 添加 .env 规则 - git rm --cached 清理已追踪的 data/accounts.json 和 data/cookies/敏感文件
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
"""数据库引擎与会话管理"""
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker, declarative_base
|
||||
@@ -73,16 +74,19 @@ def _migrate():
|
||||
|
||||
|
||||
def _seed():
|
||||
"""写入默认超管账号和角色。"""
|
||||
"""写入默认超管账号和角色(账号密码通过环境变量配置)。"""
|
||||
from .models import User
|
||||
from .security import hash_password
|
||||
|
||||
admin_username = os.getenv("ADMIN_USERNAME", "admin")
|
||||
admin_password = os.getenv("ADMIN_PASSWORD", "admin123")
|
||||
|
||||
db = SessionLocal()
|
||||
try:
|
||||
if not db.query(User).first():
|
||||
admin = User(
|
||||
username="admin",
|
||||
password_hash=hash_password("admin123"),
|
||||
username=admin_username,
|
||||
password_hash=hash_password(admin_password),
|
||||
role="super_admin",
|
||||
is_active=True,
|
||||
remark="默认超级管理员",
|
||||
|
||||
Reference in New Issue
Block a user