记录第一台网页发布与角色权限验收

This commit is contained in:
xuans 2026-10-06 10:48:10 +08:00
parent 39cbd83312
commit d02b9e2c7f
3 changed files with 44 additions and 0 deletions

View File

@ -1,5 +1,26 @@
# Linux 生产流程测试记录
## 2026年10月6日10时47分 第一台 Web 更新及角色页面验收
### 构建与发布物
- [✓] 在提交 `39cbd833121f81687a744c15ce0dcb7864fc85e9` 上使用正式发布入口仅构建 `linux-amd64`;`manifest.json` 标记 `source_dirty=false`、`desktop_requested=false`,归档为 `Scert-20261006-V0.1.0-linux-amd64.tar.gz`,SHA-256=`3a82fff4ab7aeef62ad5d6d217b56a270e81b5678631ed43af9334df31cec029`。
- [✓] 本轮部署范围严格限定为第一台的 Web 四文件;上传前对候选文件计算 SHA-256,远端 staging 复核一致后原子切换。旧 `/scert/web` 移入 `/scert/backups/web-before-20261006-account-39cbd83`,用于回退,未删除任何旧文件。
### 第一台现场证据
- [✓] 新 `/scert/web` 文件摘要:`index.html=931824b6390884c595d2aff2969bd02eff7f5a74b7913086463ed5eb6ea3bbbb`;`assets/index-D-Ya24Ph.js=a1f98fa88f721024e84c3f82ecacc062e612bedd3391140ac1f8f7d1a7d14ab9`;`assets/index-DLxVpPUk.css=7bdcb69c409e13127aa923832d9ea1374aee64db8f31a533e7e89132ac20f167`;`Scert.png=81b7ec9d32125e784e425b60cd731356b20b26d0bcc8e67261cbfb2764783f55`。
- [✓] Scert.service、Scert-storage.socket、Nginx 均 active;正常 HTTPS `/readyz` 返回 `{"service":"scert","status":"ready"}`,首页引用新 JS 和 CSS。服务未重启。
- [✓] 浏览器使用独立本项目页面并清缓存刷新;普通用户登录后页面顶部显示“当前登录账号/普通用户/权限:普通用户”,切换“项目与成员”后仍可见。退出后管理员登录显示“管理/权限:管理员”。
- [✓] 管理员导航没有“系统设置”按钮;浏览器同源请求 `/api/v1/settings` 返回403。该结果与后端权限校验一致,不以隐藏按钮代替接口保护。
### 第二台隔离证据
- [✓] 本轮没有连接第二台执行上传;只读复核确认 `/scert`、`/opt/scert` 及限定范围内本次发布标识不存在,Nginx、MySQL、PMail active。
- [✓] 第二台仍保持仅 SSL 推送测试边界,既有 PMail 和历史部署锁未删除、未修改。
本节证明 Web 角色显示整改和第一台 Web 资源切换通过,不证明第二台历史 SSL 恢复、真实邮件送达、受保护重置、DNS/ACME 或整体验收完成。
## 2026年10月4日 Linux 上线整改接手记录
### 任务状态

View File

@ -1,5 +1,15 @@
# Scert 整改任务执行清单
## 2026年10月6日10时47分 第一台 Web 发布与角色验收
- [✓] 候选包仅为 Linux amd64,source_commit=`39cbd833121f81687a744c15ce0dcb7864fc85e9`,source_dirty=false;归档 SHA-256=`3a82fff4ab7aeef62ad5d6d217b56a270e81b5678631ed43af9334df31cec029`。
- [✓] 仅将候选包中的 Web 四个文件上传第一台 staging 目录,上传前后摘要逐项一致;切换前保留旧 Web 目录,回退副本为 `/scert/backups/web-before-20261006-account-39cbd83`。
- [✓] 切换后第一台 `/scert/web` 摘要为 index `931824...3bbbb`、JS `a1f98...14ab9`、CSS `7bdcb...0f167`、Logo `81b7...83f55`;Scert、存储套接字、Nginx 均 active,未重启服务。
- [✓] 浏览器清缓存后实际加载新 JS;普通用户账号权限显示、跨用户中心板块显示、管理员账号权限显示均通过。
- [✓] 管理员页面不显示系统设置按钮;直接请求 `/api/v1/settings` 返回403,普通用户此前同样返回403。
- [✓] 第二台限定范围复核未发现 `/scert`、`/opt/scert` 或本次发布标识;未上传、未安装、未重载第二台既有服务。
- [~] 任务清单中的 Web 角色显示待办已完成,邮件、恢复锁及其他 Linux 生产门禁仍按独立证据链继续。
## 2026年10月6日 普通用户账号显示补齐
### 已确认需求

View File

@ -1,5 +1,18 @@
# Scert 整改、合并与优化清单
## 2026年10月6日10时47分 最新状态:普通用户身份显示及第一台 Web 更新通过
- [✓] 普通用户独立用户中心已显示当前登录账号和中文权限,跨“账户与密码/项目与成员”切换保持显示;管理员页面继续显示账号和权限。
- [✓] 非超级管理员不再显示系统设置入口;管理员线上直接读取系统设置仍返回403,后端权限边界未被前端改动绕过。
- [✓] 新增会话白名单、旧身份清理、晚到响应保护、HTML 转义及角色入口专项回归;前端专项31项、全量347项和生产构建通过。
- [✓] 仅选择 linux-amd64 生成候选:`build/release-20261006-user-account/Scert-20261006-V0.1.0-linux-amd64.tar.gz`,归档 SHA-256 为 `3a82fff4ab7aeef62ad5d6d217b56a270e81b5678631ed43af9334df31cec029`。清单 source_commit=`39cbd833121f81687a744c15ce0dcb7864fc85e9`、source_dirty=false、desktop_requested=false。
- [✓] 第一台仅切换 Web:新 `/scert/web` 四个文件摘要与候选一致;旧目录保留在 `/scert/backups/web-before-20261006-account-39cbd83`,未删除;Scert、存储套接字、Nginx 未重启且保持 active。
- [✓] 正常 HTTPS 的 `/readyz` 返回 ready,浏览器清缓存刷新后加载 `index-D-Ya24Ph.js`;普通用户、管理员账号权限显示和管理员系统设置隐藏均通过。
- [✓] 第二台未接收项目包;复核无 `/scert`、`/opt/scert` 及本次发布标识,Nginx、MySQL、PMail active。
- [ ] 第二台历史 SSL 事务仍因缺少可信旧基线未处置;真实邮件收件、受保护重置、三库首次流程、DNS/ACME 及整体生产门禁继续未完成。
归档 SHA-256 原始值为 `3a82fff4ab7aeef62ad5d6d217b56a270e81b5678631ed43af9334df31cec029`。本轮只上传第一台 Web 文件,没有向第二台上传或安装 Scert。
## 2026年10月6日10时32分 最新状态:推送失败根因与恢复证据
- [✓] 第二台目标域名未绑定独立 HTTPS 站点,现有 PMail 站点提供 vcer.cn 证书;在已认证服务器内以目标 SNI 严格核验得到域名不匹配,不能当作公网正常 DNS 验收。