execution-log.md 4.4 KB

执行日志 — 用户租户登录与授权优化

created: 2026-06-25

2026-06-25

  • 初始化变更文档,进入编码阶段。
  • 12:50 CST:完成用户租户登录与授权优化编码。
    • 变更范围:认证登录配置公开接口、用户批量角色/租户绑定接口、登录页租户选择、用户管理批量操作和回显修复。
    • 后端编译:
    • 首次命令:mvn -q -pl forge-framework/forge-plugin-parent/forge-plugin-system -am compile -DskipTests
    • 结果:失败,系统默认 JDK 不支持 target 17
    • 复跑命令:env JAVA_HOME=/opt/homebrew/Cellar/openjdk@17/17.0.13/libexec/openjdk.jdk/Contents/Home PATH=/opt/homebrew/Cellar/openjdk@17/17.0.13/libexec/openjdk.jdk/Contents/Home/bin:$PATH mvn -q -pl forge-framework/forge-plugin-parent/forge-plugin-system -am compile -DskipTests
    • 结果:通过。
    • 前端构建:
    • 命令:/bin/zsh -lc "source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build"
    • 结果:通过,built in 2m 7s
    • 警告:存在既有 [unplugin-vue-components] component "UserSelectModal"... naming conflicts、CSS // 注释、动态/静态 import 混用 chunk 提示;未阻断构建。
    • 代码检查:git diff --check 覆盖相关 tracked 文件,通过。
    • 跳过项:未启动后端/前端服务,未执行登录和用户管理接口 curl;原因是本轮以模块编译与前端构建闭环,未占用本地服务端口和数据库。
    • 服务清理:本轮未启动服务,无需停止。
  • 13:36 CST:完成用户多租户编辑与登录品牌图安全渲染跟进修复。
    • 变更范围:用户编辑 tenantIds 多选和默认租户联动、用户列表多租户名聚合展示、加入租户按钮图标、登录页租户 logo/favicon 白名单公开图片接口。
    • 代码检查:
    • 命令:git diff --check -- forge-admin-ui/src/views/system/user.vue forge-admin-ui/src/views/login/index.vue forge-admin-ui/src/utils/tenant-config.js forge-admin-ui/src/utils/crypto/crypto-config.js forge-server/forge-framework/forge-plugin-parent/forge-plugin-system/src/main/java/com/mdframe/forge/plugin/system/controller/LoginTenantAssetController.java forge-server/forge-framework/forge-plugin-parent/forge-plugin-system/src/main/java/com/mdframe/forge/plugin/system/controller/SysUserController.java forge-server/forge-framework/forge-plugin-parent/forge-plugin-system/src/main/java/com/mdframe/forge/plugin/system/dto/SysUserDTO.java forge-server/forge-framework/forge-plugin-parent/forge-plugin-system/src/main/java/com/mdframe/forge/plugin/system/entity/SysUser.java forge-server/forge-framework/forge-plugin-parent/forge-plugin-system/src/main/java/com/mdframe/forge/plugin/system/service/ISysUserService.java forge-server/forge-framework/forge-plugin-parent/forge-plugin-system/src/main/java/com/mdframe/forge/plugin/system/service/impl/SysUserServiceImpl.java forge-server/forge-framework/forge-plugin-parent/forge-plugin-system/src/main/resources/mapper/SysUserMapper.xml forge-server/forge-framework/forge-starter-parent/forge-starter-auth/src/main/java/com/mdframe/forge/starter/auth/config/SaTokenConfig.java
    • 结果:通过。
    • 后端编译:
    • 命令:env JAVA_HOME=/opt/homebrew/Cellar/openjdk@17/17.0.13/libexec/openjdk.jdk/Contents/Home PATH=/opt/homebrew/Cellar/openjdk@17/17.0.13/libexec/openjdk.jdk/Contents/Home/bin:$PATH mvn -q -pl forge-framework/forge-plugin-parent/forge-plugin-system -am compile -DskipTests
    • 工作目录:forge-server
    • 结果:通过。
    • 前端构建:
    • 命令:source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir forge-admin-ui build
    • 结果:通过,built in 1m 12s
    • 警告:仍有既有 [unplugin-vue-components] component "UserSelectModal"... naming conflicts、CSS // 注释、动态/静态 import 混用 chunk 提示;未阻断构建。
    • 安全边界:新增 /auth/tenant/assets/{tenantId}/{assetType} 只读取启用租户配置中直接引用的 logo/favicon 文件,并限制安全图片类型;未放开 /api/file/download/{fileId} 鉴权。
    • 跳过项:未启动后端/前端服务,未执行真实登录页浏览器验证;原因是本轮以模块编译、前端构建和安全边界静态检查闭环,未占用本地服务端口和数据库。
    • 服务清理:本轮未启动服务,无需停止。