qubiaobiao a47e823277 fix(auth): 激活页清除残留登录态 + 全站密码框显式 autocomplete 语义
R61/R62:两个独立缺陷(测试人员反馈「设置密码框已有 123456 + 激活后直接进管理后台」)。

① 激活后进管理后台 —— 安全缺陷(公用电脑 = 越权)
Activate.vue 激活成功与「返回登录」都跳 /login,而 router guard
(router/index.js:203-222)见到 isLoggedIn && role==='admin' 会重定向到 /admin。
浏览器残留 admin 登录态时(测试人员刚用 admin 操作过后台),考生会被
直接送进管理后台;且 /api/admin/* 全部挂 adminAuth(router.js:25)
⇒ 残留 token 有效时管理接口真能调。
修法:激活页按「未登录」语义处理 —— onMounted 与激活成功后均 clearAuth()。

② 设置密码页密码框被浏览器预填
密码框未显式声明 autocomplete,而 EP el-input 该 prop 默认 "off",
Chromium 对 type=password 会忽略 off,改用该站点已保存凭据自动填充。
密码规则仅 min:6 ⇒ "123456" 恰好合法 ⇒ 用户不知情下即把密码设成 123456。
修法:6 个密码框显式声明语义 —— 设密码/重置密码 new-password(4 处),
登录 current-password(2 处,含管理员 tab)。

验证:真浏览器 21/21 断言通过(含「残留 admin 态直接访问 /login 必跳 /admin」
对照臂,证明断言非恒真);TDZ 扫描 PASS(26 文件);权威脚本构建
157 文件 / 70 .gz;生产零中断上线(MainPID/NRestarts/ActiveEnterTimestamp 未变)。
2026-09-30 11:39:53 +08:00
2026-08-17 12:25:42 +08:00
2026-08-17 12:25:42 +08:00
Description
No description provided
1.6 MiB
Languages
Vue 77.3%
JavaScript 20.9%
CSS 1.5%
HTML 0.3%