Files
hzdyjs/fix-user-permissions-guide.md
T
2025-07-23 15:20:48 +08:00

3.8 KiB

用户权限修复指南

问题描述

zhanglaoshi和lililaoshi两个账号虽然应该有不同的权限和职责,但实际登录后看到的权限和数据是相同的。根据系统设计:

  • zhanglaoshi:负责审核学生信息,应该只能看到状态为0和1的数据
  • lililaoshi:负责确认缴费和填写录取通知书号码,应该只能看到状态为2的数据

修复方案

我们已经准备了三个修复脚本文件:

  1. fix-user-role-permissions.sql:修复数据库中的用户角色关联和权限配置
  2. ZsjyEnrollmentProcessServiceImpl-fixed.java:修复后端服务实现类中的数据过滤逻辑
  3. fix-enrollmentProcess-view.vue:修复前端页面中的权限控制和数据过滤

修复步骤

1. 修复数据库中的用户角色关联

执行以下SQL脚本修复数据库中的用户角色关联和权限配置:

mysql -u root -p hzdyjs_xg < fix-user-role-permissions.sql

或者直接在MySQL客户端中执行fix-user-role-permissions.sql文件中的SQL语句。

2. 修复后端服务实现类

  1. 找到ZsjyEnrollmentProcessServiceImpl.java文件:
find /path/to/project -name "ZsjyEnrollmentProcessServiceImpl.java"
  1. 备份原文件:
cp /path/to/ZsjyEnrollmentProcessServiceImpl.java /path/to/ZsjyEnrollmentProcessServiceImpl.java.bak
  1. 用修复后的文件替换原文件:
cp ZsjyEnrollmentProcessServiceImpl-fixed.java /path/to/ZsjyEnrollmentProcessServiceImpl.java

3. 修复前端页面

  1. 找到enrollmentProcess/index.vue文件:
find /path/to/project -name "index.vue" | grep enrollmentProcess
  1. 备份原文件:
cp /path/to/enrollmentProcess/index.vue /path/to/enrollmentProcess/index.vue.bak
  1. 根据fix-enrollmentProcess-view.vue文件中的代码片段修改原文件:

    • 修改下拉菜单中的操作项,添加v-hasPermi指令
    • 添加用户角色判断辅助函数
    • 修改getList方法,根据用户角色过滤数据

4. 重启服务

  1. 重新编译并启动后端服务:
cd /path/to/backend
mvn clean package
./hot-start.sh
  1. 重新编译并启动前端服务:
cd /path/to/web
npm run build

5. 清除缓存并重新登录

  1. 清除浏览器缓存
  2. 重新登录系统
  3. 分别使用zhanglaoshi和lililaoshi账号测试

验证修复效果

zhanglaoshi账号

  1. 登录系统:用户名zhanglaoshi,密码123456
  2. 进入流程状态页面
  3. 验证是否只能看到状态为0和1的数据
  4. 验证是否只能看到"查看详情"和"信息审核"按钮
  5. 验证下拉菜单中是否没有"缴费确认"和"录取处理"等操作

lililaoshi账号

  1. 登录系统:用户名lililaoshi,密码123456
  2. 进入流程状态页面
  3. 验证是否只能看到状态为2的数据
  4. 验证是否只能看到"查看详情"和"录取处理"按钮
  5. 验证下拉菜单中是否有"缴费确认"操作,但没有"信息审核"操作

常见问题

1. 修复后仍然看到相同的数据和权限

可能原因:

  • 浏览器缓存未清除
  • 后端服务未重启
  • 权限缓存未更新

解决方法:

  • 清除浏览器缓存
  • 重启后端服务
  • 重新登录系统

2. 部分按钮仍然可见但点击无反应

可能原因:

  • 前端权限控制未完全修复
  • 后端接口权限验证生效

解决方法:

  • 检查前端v-hasPermi指令是否正确应用
  • 确认后端接口权限注解是否正确配置

3. 数据过滤不正确

可能原因:

  • 后端查询条件构建错误
  • 角色权限配置不正确

解决方法:

  • 检查后端查询条件构建逻辑
  • 验证角色权限配置是否正确

联系支持

如果在修复过程中遇到问题,请联系系统开发团队获取支持。


修复日期: 2025-07-21
修复人员: Cursor AI
修复版本: v1.0