docs: 记录后台登录上线安全要求
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# 管理后台登录页上线安全修正
|
||||
|
||||
日期:2026-07-09
|
||||
|
||||
## 需求背景
|
||||
|
||||
管理后台准备正式部署上线,登录页不能默认填入管理员账号和密码。账号密码预填适合开发调试,但上线后会造成明显安全风险,也会让访问者直接看到默认口令线索。
|
||||
|
||||
## 本次目标
|
||||
|
||||
1. 管理后台登录页用户名、密码输入框默认置空。
|
||||
2. 文档不再把开发默认账号密码作为正式部署可直接使用的登录信息。
|
||||
3. 后端首个管理员自动初始化增加生产环境保护,避免生产环境仍使用 `admin/admin123456` 这类弱默认口令。
|
||||
4. 本地开发仍保留可配置的初始化能力,降低开发和测试环境启动成本。
|
||||
|
||||
## 设计决策
|
||||
|
||||
- 前端登录表单只保留占位提示,不预填任何账号密码。
|
||||
- 开发环境可以通过环境变量继续指定首个管理员初始化账号。
|
||||
- 生产环境如果尚未创建管理员,必须显式配置安全的 `BOOTSTRAP_ADMIN_USERNAME` 和 `BOOTSTRAP_ADMIN_PASSWORD`。
|
||||
- 生产环境不允许使用 `admin123456` 作为首个管理员初始化密码。
|
||||
- 管理员初始化只在系统没有任何管理员账号时触发,已有管理员数据不受影响。
|
||||
|
||||
## 验收标准
|
||||
|
||||
- 访问管理后台登录页时,账号和密码输入框为空。
|
||||
- 管理后台前端构建通过。
|
||||
- 后端代码编译检查通过。
|
||||
- `APP_ENV=production` 且 `BOOTSTRAP_ADMIN_PASSWORD=admin123456` 时,后端拒绝自动创建首个管理员。
|
||||
- 发布检查清单明确要求生产环境替换管理员初始化账号密码。
|
||||
Reference in New Issue
Block a user