4.3 KiB
4.3 KiB
用户权限管理系统部署指南
当前状态
✅ 前端已完成:用户权限管理界面已实现,支持优雅的错误处理 ❌ 后端待部署:需要完成数据库表创建和后端服务重启
部署步骤
步骤1:创建数据库表
执行SQL脚本:
-- 在数据库中执行以下SQL
source C:\cattleTransport\tradeCattle\add_user_menu_table.sql;
或者手动执行:
CREATE TABLE IF NOT EXISTS `sys_user_menu` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`user_id` int(11) NOT NULL COMMENT '用户ID',
`menu_id` int(11) NOT NULL COMMENT '菜单ID',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_menu_id` (`menu_id`),
UNIQUE KEY `uk_user_menu` (`user_id`, `menu_id`) COMMENT '用户菜单唯一索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户菜单权限表';
步骤2:重启后端服务
停止当前服务:
# 查找Java进程
jps -l
# 停止Spring Boot应用(替换为实际的进程ID)
taskkill /F /PID <进程ID>
重新启动服务:
cd C:\cattleTransport\tradeCattle\aiotagro-cattle-trade
mvn spring-boot:run
或者使用IDE启动:
- 在IDE中运行
AiotagroCattletradeApplication.java - 确保端口8080可用
步骤3:验证部署
检查服务状态:
# 检查端口是否监听
netstat -ano | findstr :8080
# 测试API接口
curl http://localhost:8080/api/sysUserMenu/hasUserPermissions?userId=1
预期响应:
{
"code": 200,
"data": {
"hasUserPermissions": false,
"permissionCount": 0,
"permissionSource": "角色权限"
}
}
功能验证
1. 前端界面测试
-
访问权限管理页面
- 打开浏览器访问:
http://localhost:8082 - 登录后进入权限管理页面
- 打开浏览器访问:
-
测试标签页切换
- 确认"角色权限管理"标签页正常
- 确认"用户权限管理"标签页正常
-
测试用户权限管理
- 切换到"用户权限管理"标签页
- 选择用户,查看权限来源显示
- 尝试修改权限设置
2. 后端API测试
测试用户权限查询:
GET /api/sysUserMenu/hasUserPermissions?userId=3
测试用户权限分配:
POST /api/sysUserMenu/assignUserMenus
Content-Type: application/json
{
"userId": 3,
"menuIds": [1, 2, 3, 16, 4, 5]
}
测试权限清空:
DELETE /api/sysUserMenu/clearUserMenus?userId=3
当前问题解决
问题:404错误
现象: Failed to load resource: the server responded with a status of 404
原因: 后端服务未包含新的用户权限管理接口
解决方案:
- 确保数据库表已创建
- 重新编译后端项目:
mvn clean compile - 重启后端服务:
mvn spring-boot:run
问题:前端错误处理
已解决: 前端现在能够优雅地处理API不可用的情况
- 显示警告信息而不是错误
- 使用默认值(角色权限)
- 不影响其他功能的使用
部署检查清单
- 数据库表
sys_user_menu已创建 - 后端项目已重新编译
- 后端服务已重启
- API接口
/api/sysUserMenu/*可访问 - 前端页面可正常加载
- 用户权限管理功能正常
故障排除
1. 后端启动失败
检查:
- Java版本是否正确
- 数据库连接是否正常
- 端口8080是否被占用
2. API接口404
检查:
- 控制器类是否正确扫描
- 请求路径是否正确
- 服务是否完全启动
3. 数据库连接失败
检查:
- 数据库服务是否运行
- 连接配置是否正确
- 用户权限是否足够
完成后的功能
部署完成后,系统将支持:
-
双权限系统:
- 角色权限管理(影响所有使用相同角色的用户)
- 用户权限管理(仅影响单个用户)
-
权限优先级:
- 用户专属权限覆盖角色权限
- 向后兼容现有功能
-
界面友好:
- 标签页切换
- 权限来源显示
- 操作确认提示
-
API完整:
- 用户权限查询
- 用户权限分配
- 用户权限清空
联系支持
如果在部署过程中遇到问题,请检查:
- 后端服务日志
- 数据库连接状态
- 网络连接情况
- 端口占用情况