From 337f6501b07ff742cab154b3e16ec5629328b924 Mon Sep 17 00:00:00 2001 From: oliver Date: Tue, 8 Sep 2026 11:09:14 +0800 Subject: [PATCH] Enable fallback_admin by default with Admin@123. Initial deploys often cannot scan UAC QR; seed the emergency account unless roles.json explicitly disabled it. Co-authored-by: Cursor --- uds-auth/README.zh.md | 1 + uds-auth/config.default.yaml | 2 ++ uds-auth/lib/client.js | 6 +++--- uds-auth/lib/roles.js | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/uds-auth/README.zh.md b/uds-auth/README.zh.md index 85b63647..e86e9caf 100644 --- a/uds-auth/README.zh.md +++ b/uds-auth/README.zh.md @@ -38,6 +38,7 @@ originSystemCode: '' - `GET /uds-auth/api/me` — 当前用户 - `POST /uds-auth/api/logout` — 登出 - 用户管理 / 兜底管理员:见 `/uds-auth/api/users*`、`/uds-auth/api/fallback/*` +- **默认兜底账号**(扫码不可用时):用户名 `administrator`,密码 `Admin@123`(首次启动自动启用;可在设置中改密或关闭) ## License diff --git a/uds-auth/config.default.yaml b/uds-auth/config.default.yaml index d69c0180..601f8692 100644 --- a/uds-auth/config.default.yaml +++ b/uds-auth/config.default.yaml @@ -15,3 +15,5 @@ originSystemCode: '' # Per-user workspaces under workspaceRoot/; empty => $DSH_HOME/user-workspaces workspaceRoot: "" + +# 兜底管理员默认在首次启动启用:administrator / Admin@123(roles.json 可改密或关闭) diff --git a/uds-auth/lib/client.js b/uds-auth/lib/client.js index 2d11dbe6..82b3203a 100644 --- a/uds-auth/lib/client.js +++ b/uds-auth/lib/client.js @@ -430,8 +430,8 @@ window.__ModuleLoader__.load({ canManage && h('div', { className: 'uds-auth-settings-card' }, h('h3', null, '\u5e94\u6025\u767b\u5f55\uff08UAC \u4e0d\u53ef\u7528\uff09'), h('p', { className: 'uds-auth-settings-intro' }, - '\u72b6\u6001\uff1a' + (fallbackEnabled ? '\u5df2\u542f\u7528' : '\u672a\u8bbe\u7f6e\u5bc6\u7801\uff08\u672a\u542f\u7528\uff09') - + '\u3002\u7528\u6237\u540d\u56fa\u5b9a\u4e3a administrator\uff0c\u4ec5\u5728\u626b\u7801\u4e0d\u53ef\u7528\u65f6\u4ece\u767b\u5f55\u9762\u677f\u5207\u6362\u3002'), + '\u72b6\u6001\uff1a' + (fallbackEnabled ? '\u5df2\u542f\u7528' : '\u672a\u542f\u7528') + + '\u3002\u9ed8\u8ba4\u8d26\u53f7 administrator / Admin@123\uff1b\u53ef\u6539\u5bc6\u6216\u5173\u95ed\u3002\u4ec5\u5728\u626b\u7801\u4e0d\u53ef\u7528\u65f6\u4ece\u767b\u5f55\u9762\u677f\u5207\u6362\u3002'), h('div', { className: 'uds-auth-settings-field' }, h('label', { htmlFor: 'uds-auth-fallback-pwd' }, '\u5e94\u6025\u5bc6\u7801\uff08\u81f3\u5c11 6 \u4f4d\uff09'), h('input', { @@ -782,7 +782,7 @@ window.__ModuleLoader__.load({ }), fbErr && h('div', { className: 'uds-auth-settings-msg err' }, fbErr), h('p', { className: 'uds-auth-fallback-hint' }, - '\u9ed8\u8ba4\u7528\u6237\u540d administrator\uff1b\u5bc6\u7801\u5728\u300c\u8bbe\u7f6e \u2192 UDS \u8ba4\u8bc1\u300d\u7531\u8d85\u7ba1\u9884\u5148\u914d\u7f6e\u3002'), + '\u9ed8\u8ba4\u8d26\u53f7 administrator / Admin@123\uff08\u521d\u59cb\u90e8\u7f72\u5df2\u542f\u7528\uff0c\u53ef\u5728\u8bbe\u7f6e\u4e2d\u6539\u5bc6\u6216\u5173\u95ed\uff09\u3002'), h('button', { type: 'button', className: 'uds-auth-btn uds-auth-btn-primary', diff --git a/uds-auth/lib/roles.js b/uds-auth/lib/roles.js index 4a6459d0..ec6cec66 100644 --- a/uds-auth/lib/roles.js +++ b/uds-auth/lib/roles.js @@ -266,7 +266,7 @@ export class RolesStore { // === Fallback Administrator === setFallbackPassword(password, currentAdminRole) { - if (currentAdminRole !== ROLES.SUPER_ADMIN) { + if (currentAdminRole !== ROLES.SUPER_ADMIN && currentAdminRole !== ROLES.FALLBACK_ADMIN) { throw new Error('只有超级管理员可以设置兜底管理员密码') } if (!password || password.length < 6) { @@ -278,7 +278,7 @@ export class RolesStore { } clearFallbackPassword(currentAdminRole) { - if (currentAdminRole !== ROLES.SUPER_ADMIN) { + if (currentAdminRole !== ROLES.SUPER_ADMIN && currentAdminRole !== ROLES.FALLBACK_ADMIN) { throw new Error('只有超级管理员可以清除兜底管理员密码') } this._fallbackPasswordHash = null