根据需求,移除了所有被 app 端调用的后台接口的权限验证注解(@PreAuthorize),使这些接口可以在用户登录后无需额外权限即可访问。
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskController.java
移除以下接口的权限注解:
- GET /task/list - 查询任务列表
- POST /task/export - 导出任务列表
- GET /task/{taskId} - 获取任务详情
- POST /task - 新增任务
- PUT /task - 修改任务
- DELETE /task/{taskIds} - 删除任务
- PUT /task/{taskId}/assign - 分配任务
- PUT /task/{taskId}/status - 更新任务状态
- GET /task/statistics - 查询任务统计
- GET /task/overdue - 查询超时任务
- GET /task/my - 查询我的任务
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/SysTaskVehicleController.java
移除以下接口的权限注解:
- GET /task/vehicle/list/{taskId} - 查询任务关联的车辆列表
- GET /task/vehicle/available - 查询可用车辆列表
- POST /task/vehicle/assign/{taskId} - 分配车辆给任务
- POST /task/vehicle/assign-batch/{taskId} - 批量分配车辆给任务
- DELETE /task/vehicle/{taskId}/{vehicleId} - 取消任务车辆分配
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleInfoController.java
移除以下接口的权限注解:
- GET /system/vehicle/list - 查询车辆信息列表
- GET /system/vehicle/export - 导出车辆信息列表
- GET /system/vehicle/{vehicleId} - 获取车辆信息详情
- POST /system/vehicle - 新增车辆信息
- PUT /system/vehicle - 修改车辆信息
- DELETE /system/vehicle/{vehicleIds} - 删除车辆信息
注意:以下接口已使用 @Anonymous 注解,保持不变:
- POST /system/vehicle/bind - 绑定车辆到用户
- POST /system/vehicle/unbind - 解绑用户车辆
- GET /system/vehicle/user/bound/{userId} - 获取用户绑定的车辆
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
移除以下接口的权限注解:
- GET /system/dept/list - 获取部门列表
- GET /system/dept/list/exclude/{deptId} - 查询部门列表(排除节点)
- GET /system/dept/{deptId} - 根据部门编号获取详细信息
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
移除以下接口的权限注解:
- GET /system/user/list - 获取用户列表
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
注意:以下接口原本就没有权限注解,保持不变:
- GET /system/dict/data/type/{dictType} - 根据字典类型查询字典数据
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/sqlserver/SqlServerDictionaryController.java
移除以下接口的权限注解:
- GET /sqlserver/dictionary/serviceOrdAreaTypes - 查询单据类型列表
- GET /sqlserver/dictionary/serviceOrderClass - 查询服务单编码列表
- GET /sqlserver/dictionary/dispatchOrderClass - 查询调度单编码列表
- GET /sqlserver/dictionary/serviceOrderTypes - 查询服务订单类型列表
- GET /sqlserver/dictionary/hospitalDepartments - 查询医院科室列表
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMessageController.java
移除以下接口的权限注解:
- GET /system/message/list - 查询系统消息列表
- POST /system/message/export - 导出系统消息列表
- GET /system/message/{messageId} - 获取系统消息详细信息
- POST /system/message - 新增系统消息
- PUT /system/message - 修改系统消息
- DELETE /system/message/{messageIds} - 删除系统消息
注意:以下接口原本就没有权限注解,保持不变:
- GET /system/message/my - 查询当前用户的消息列表
- GET /system/message/unread/count - 查询未读消息数量
- PUT /system/message/read/{messageId} - 标记消息为已读
- PUT /system/message/read/all - 标记所有消息为已读
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HospDataController.java
注意:该 Controller 原本就没有权限注解,保持不变:
- GET /system/hospital/search - 搜索医院
- GET /system/hospital/detail - 获取医院详情
文件路径: ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/Icd10Controller.java
注意:该 Controller 原本就没有权限注解,保持不变:
- GET /system/icd10/search - 搜索ICD-10疾病
- GET /system/icd10/detail - 获取ICD-10详情
登录验证仍然有效:虽然移除了 @PreAuthorize 权限注解,但所有接口仍然需要用户登录才能访问(通过 Spring Security 的认证机制)。
数据权限控制:
如果需要对 app 端也实施细粒度权限控制,可以考虑:
1. 在 sys_role 表中为 app 用户创建专门的角色
2. 配置相应的菜单和权限标识
3. 在用户登录时分配对应的角色和权限
4. 恢复接口的 @PreAuthorize 注解
2025-10-26