| 1234567891011121314151617181920212223 |
- -- 1.0.528.verify.sql — 每条 SELECT 都必须返回 1
- -- ① 新菜单的授权角色集 == 父目录(S8 异常监控)的授权角色集,一个不多一个不少
- SELECT (SELECT COUNT(*) FROM (
- SELECT `RoleId` FROM `SysRoleMenu` WHERE `MenuId` = 1329008000020
- UNION ALL
- SELECT `RoleId` FROM `SysRoleMenu` WHERE `MenuId` = 1329008000027
- ) u GROUP BY `RoleId` HAVING COUNT(*) <> 2) IS NULL;
- -- ② 已实际授权(非 0 行)
- SELECT (SELECT COUNT(*) FROM `SysRoleMenu` WHERE `MenuId` = 1329008000027) > 0;
- -- ③ 无重复授权(幂等:重复执行不产生第二份)
- SELECT (SELECT COUNT(*) FROM (
- SELECT `RoleId` FROM `SysRoleMenu` WHERE `MenuId` = 1329008000027
- GROUP BY `RoleId` HAVING COUNT(*) > 1) d) = 0;
- -- ④ 未越界授权到父目录之外的角色
- SELECT (SELECT COUNT(*) FROM `SysRoleMenu` a
- WHERE a.`MenuId` = 1329008000027
- AND NOT EXISTS (SELECT 1 FROM (SELECT `RoleId` FROM `SysRoleMenu`
- WHERE `MenuId` = 1329008000020) b
- WHERE b.`RoleId` = a.`RoleId`)) = 0;
|