20260920220520
This commit is contained in:
1 parent
6f03d92425
commit
b3364fe6dc
44 files changed
+2313
-2737
No files matched your search
@@ -0,0 +1,46 @@
|
||||
/* ============================================================================
|
||||
FMS 菜单入口权限点(s_power,b_object_type = 'menu')
|
||||
|
||||
背景:设计文档 §14.1 与《FMS模块关系与权限边界重构计划》§3.2 规定
|
||||
menu.* 控制「能否进入菜单页面」,但此前没有任何地方生成它 —— s_power 里
|
||||
menu 类型权限点为 0 行,「用户管理 → 分配权限 → 功能权限」因此无法给菜单授权。
|
||||
|
||||
规则:每个 page / external 菜单一行 menu.{菜单编码},b_action = 'access'。
|
||||
directory 是纯导航分组,不设权限点(侧栏按子菜单裁剪)。
|
||||
|
||||
落库后由「菜单管理」在保存 / 删除菜单时自动维护(新增自动派生、删除自动清理),
|
||||
本脚本只在首次上线或历史数据修补时执行;可重复执行(幂等,已存在的跳过)。
|
||||
============================================================================ */
|
||||
|
||||
insert into dbo.s_power
|
||||
(b_id, b_name, b_i18n, b_type, b_object_type, b_object_id, b_action, b_canuse, b_xh, b_bz)
|
||||
select 'menu.' + m.b_id,
|
||||
m.b_name,
|
||||
'menu.' + m.b_id,
|
||||
'menu',
|
||||
'menu',
|
||||
m.b_id,
|
||||
'access',
|
||||
1,
|
||||
m.b_xh,
|
||||
N'菜单入口权限(菜单管理自动派生)'
|
||||
from dbo.s_menu m
|
||||
where m.b_menu_type in ('page', 'external')
|
||||
and not exists (
|
||||
select 1 from dbo.s_power p
|
||||
where p.b_object_type = 'menu' and p.b_object_id = m.b_id
|
||||
);
|
||||
GO
|
||||
|
||||
/* ----------------------------------------------------------------------------
|
||||
自检
|
||||
---------------------------------------------------------------------------- */
|
||||
select N'可授权菜单数(page + external)' as 项, count(*) as 行数
|
||||
from dbo.s_menu where b_menu_type in ('page', 'external')
|
||||
union all
|
||||
select N's_power(menu.*) 行数', count(*)
|
||||
from dbo.s_power where b_object_type = 'menu'
|
||||
union all
|
||||
select N'其中启用', count(*)
|
||||
from dbo.s_power where b_object_type = 'menu' and b_canuse = 1;
|
||||
GO
|
||||
Reference in new issue
Block a user