feat(monitor): 新增在线用户管理功能数据库配置

- 添加系统监控菜单模块
- 新增在线用户管理菜单权限配置
- 配置查看、踢下线、强制注销等权限
- 支持基于Sa-Token + Redis的无表设计
- 为管理员角色分配在线用户管理权限
This commit is contained in:
Leo 2025-09-27 17:50:54 +08:00
parent ae32e6d953
commit b689713e3a

View File

@ -0,0 +1,93 @@
/*
* 线SQL脚本
*
*
* 1. Sa-Token + Redis实现线
* 2. Redis会话中
* 3. 线线
*
* Leocoder
* 2025-09-27
*/
-- ----------------------------
-- 在线用户管理菜单权限配置
-- ----------------------------
-- 1. 系统监控菜单(如果不存在)
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `en_name`, `parent_id`, `menu_type`, `path`, `name`, `component`, `icon`, `auth`, `menu_status`, `active_menu`, `is_hide`, `is_link`, `is_keep_alive`, `is_full`, `is_affix`, `is_spread`, `sorted`, `create_by`, `create_time`, `update_by`, `update_time`)
SELECT 2000, '系统监控', 'System Monitor', 0, '1', '/monitor', 'monitorPage', '', 'Monitor', 'monitor:auth', '0', NULL, '1', '', '0', '1', '1', '1', 3, 'system', NOW(), 'system', NOW()
WHERE NOT EXISTS (SELECT 1 FROM `sys_menu` WHERE `menu_id` = 2000);
-- 2. 在线用户菜单
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `en_name`, `parent_id`, `menu_type`, `path`, `name`, `component`, `icon`, `auth`, `menu_status`, `active_menu`, `is_hide`, `is_link`, `is_keep_alive`, `is_full`, `is_affix`, `is_spread`, `sorted`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES (2001, '在线用户', 'Online Users', 2000, '2', '/monitor/online', 'onlineUsersPage', 'monitor/online/index', 'UserFilled', 'monitor:online:list', '0', NULL, '1', '', '1', '1', '1', '1', 1, 'system', NOW(), 'system', NOW());
-- 3. 在线用户-查看权限
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `en_name`, `parent_id`, `menu_type`, `path`, `name`, `component`, `icon`, `auth`, `menu_status`, `active_menu`, `is_hide`, `is_link`, `is_keep_alive`, `is_full`, `is_affix`, `is_spread`, `sorted`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES (2002, '查看', 'View', 2001, '3', '', NULL, NULL, '', 'monitor:online:list', '0', NULL, '0', '', '0', '1', '1', '1', 1, 'system', NOW(), 'system', NOW());
-- 4. 在线用户-踢人下线权限
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `en_name`, `parent_id`, `menu_type`, `path`, `name`, `component`, `icon`, `auth`, `menu_status`, `active_menu`, `is_hide`, `is_link`, `is_keep_alive`, `is_full`, `is_affix`, `is_spread`, `sorted`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES (2003, '踢人下线', 'Kick Out', 2001, '3', '', NULL, NULL, '', 'monitor:online:kickout', '0', NULL, '0', '', '0', '1', '1', '1', 2, 'system', NOW(), 'system', NOW());
-- 5. 在线用户-强制注销权限
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `en_name`, `parent_id`, `menu_type`, `path`, `name`, `component`, `icon`, `auth`, `menu_status`, `active_menu`, `is_hide`, `is_link`, `is_keep_alive`, `is_full`, `is_affix`, `is_spread`, `sorted`, `create_by`, `create_time`, `update_by`, `update_time`)
VALUES (2004, '强制注销', 'Force Logout', 2001, '3', '', NULL, NULL, '', 'monitor:online:logout', '0', NULL, '0', '', '0', '1', '1', '1', 3, 'system', NOW(), 'system', NOW());
-- ----------------------------
-- 角色权限关联(管理员角色拥有在线用户管理权限)
-- ----------------------------
-- 给管理员角色分配在线用户菜单权限
-- 注意这里假设管理员角色ID为1请根据实际情况调整
INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
SELECT 1, 2000 WHERE NOT EXISTS (SELECT 1 FROM `sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 2000);
INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
SELECT 1, 2001 WHERE NOT EXISTS (SELECT 1 FROM `sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 2001);
INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
SELECT 1, 2002 WHERE NOT EXISTS (SELECT 1 FROM `sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 2002);
INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
SELECT 1, 2003 WHERE NOT EXISTS (SELECT 1 FROM `sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 2003);
INSERT INTO `sys_role_menu` (`role_id`, `menu_id`)
SELECT 1, 2004 WHERE NOT EXISTS (SELECT 1 FROM `sys_role_menu` WHERE `role_id` = 1 AND `menu_id` = 2004);
-- ----------------------------
-- 执行说明
-- ----------------------------
/*
1. 🎯
线
IP
IP地址过滤
线
2. 🔐
monitor:online:list - 线
monitor:online:kickout - 线
monitor:online:logout -
3. 🏗
Sa-Token会话管理
Redis中
4. 📱
/monitor/online - 线
- Sa-Token和Redis
- ID正确
-
*/