Files
ccdi/docs/reports/implementation/2026-05-11-login-credential-frontend-cleanup.md
2026-05-11 16:32:20 +08:00

36 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 登录页前端凭据清理实施记录
## 背景
- 登录页存在默认预填账号 `admin` 和密码 `admin123`
- 登录页“记住密码”逻辑会把用户密码写入浏览器 Cookie。
- 本次按要求移除前端代码中的账号密码,并将该类问题写入项目根 `AGENTS.md`
## 修改内容
- 修改 `ruoyi-ui/src/views/login.vue`
- 将登录表单默认 `username``password` 改为空字符串。
- 将“记住密码”文案调整为“记住账号”。
- 停止从 Cookie 读取密码,进入登录页时主动清理历史 `password` Cookie。
- 停止登录时向 Cookie 写入密码,仅保留用户名记忆能力。
- 修改 `AGENTS.md`
- 增加禁止在前端源码、配置、示例数据或页面默认值中硬编码或预填真实账号密码的规则。
- 增加登录页不得将密码保存到 Cookie、localStorage 或 sessionStorage 的规则。
- 明确登录页最多只能保存用户名,不允许保存密码或预填默认密码。
## 影响范围
- 影响前端登录页默认展示与“记住”行为。
- 不修改后端登录接口、账号认证逻辑、数据库用户密码哈希或权限体系。
- 已存在于用户浏览器中的旧 `password` Cookie 会在访问登录页时被清理。
## 验证记录
- 源码检查:`rg -n "admin123|Cookies\\.set\\(\\\"password\\\"|Cookies\\.get\\(\\\"password\\\"|记住密码|decrypt\\(|encrypt\\(" ruoyi-ui/src -S`
- 结果:未命中登录页默认账号密码、密码 Cookie 读写和“记住密码”文案;仅保留 `jsencrypt.js` 通用工具函数定义。
- 前端构建:`source ~/.nvm/nvm.sh && nvm use && node -v && npm run build:prod`
- 结果Node `v14.21.3` 下构建成功;存在原有资源体积 warning。
- 真实页面验证:启动前端开发服务后,使用 `browser-use` 打开 `http://127.0.0.1:8080/login`
- 结果:页面存在账号与密码输入框各 1 个,“记住账号”文案 1 个,“记住密码”文案 0 个,页面 DOM 不包含 `admin``admin123`
- 测试进程清理:已关闭本次启动的 `127.0.0.1:8080` 前端开发服务。