refactor: 优化权限管理与登录流程,修复细节问题

1.  调整仪表盘图标从DeviceOutlined为MonitorOutlined
2.  新增403无权访问页面与路由配置
3.  完善权限存储与路由守卫逻辑
4.  修复用户信息获取与token持久化问题
5.  补充普通管理员权限初始化与补丁脚本
6.  优化后端用户服务与认证控制器逻辑
7.  调整登录表单交互与请求流程
This commit is contained in:
andyesfly committed 2026-05-28 16:25:26 +08:00
1 parent 3d7eb12103
commit 2534723842
9 files changed
+259 -50

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
-- ============================================================
-- 普通管理员权限补丁 (用于已有数据库)
-- 执行方式: 在MySQL中执行此SQL即可
-- ============================================================
USE smart_grid_iot;
-- 给普通管理员角色(role_id=2, code='admin')分配基础管理权限
-- 先删除已存在的(避免重复), 再插入
DELETE FROM `role_permissions` WHERE `role_id` = 2;
INSERT INTO `role_permissions` (`role_id`, `permission_id`) VALUES
(2, (SELECT id FROM permissions WHERE code = 'dashboard')),
(2, (SELECT id FROM permissions WHERE code = 'system')),
(2, (SELECT id FROM permissions WHERE code = 'settings')),
(2, (SELECT id FROM permissions WHERE code = 'user:list')),
(2, (SELECT id FROM permissions WHERE code = 'user:create')),
(2, (SELECT id FROM permissions WHERE code = 'user:update')),
(2, (SELECT id FROM permissions WHERE code = 'role:list')),
(2, (SELECT id FROM permissions WHERE code = 'system:basicSetting')),
(2, (SELECT id FROM permissions WHERE code = 'system:securitySetting')),
(2, (SELECT id FROM permissions WHERE code = 'log:operation'));
-- 验证结果
SELECT r.name AS 角色名称, r.code AS 角色编码, COUNT(rp.permission_id) AS 权限数量
FROM roles r
LEFT JOIN role_permissions rp ON r.id = rp.role_id
WHERE r.id = 2
GROUP BY r.id;
+13
View File
@@ -195,6 +195,19 @@ INSERT INTO `user_roles` (`user_id`, `role_id`) VALUES (1, 1);
INSERT INTO `role_permissions` (`role_id`, `permission_id`)
SELECT 1, id FROM permissions;
-- 给普通管理员角色(role_id=2)分配基础管理权限(不含删除/重置密码/角色管理等高危操作)
INSERT INTO `role_permissions` (`role_id`, `permission_id`) VALUES
(2, 1), -- dashboard 仪表盘
(2, 2), -- system 系统管理(父菜单)
(2, 3), -- settings 系统设置(父菜单)
(2, 4), -- user:list 用户管理
(2, 6), -- user:create 新增用户
(2, 7), -- user:update 编辑用户
(2, 5), -- role:list 角色管理(仅查看)
(2, 14), -- system:basicSetting 基本设置
(2, 15), -- system:securitySetting 安全设置
(2, 16); -- log:operation 操作日志
-- ============================================================
-- 初始化完成提示