feat: 全模块公司隔离 + crossDomain权限码动态跨域控制
- get_current_company_filter: 新增_has_cross_domain_permission, 权限码替代硬编码 - 补全11个Service的get_current_company_filter调用(semi/product/service/outbound/bom/trans/scrap/summary) - base/search修复: search_material此前无隔离, 已补全 - get_current_company_filter兜底: JWT缺company_name时返回__NO_COMPANY__防止放行 - permission.py: _get_operator_company补全返回值, 修复权限页保存逻辑 - 新增crossDomain迁移脚本, element_type=element挂system_mgmt下
This commit is contained in:
@ -14,7 +14,7 @@ BEGIN;
|
||||
|
||||
-- 1. 向 sys_element 插入跨域权限码(挂 system 菜单下)
|
||||
INSERT INTO sys_element (menu_code, name, code, element_type)
|
||||
SELECT 'system_mgmt', '全局跨域访问', 'crossDomain', 'button'
|
||||
SELECT 'system_mgmt', '全局跨域访问', 'crossDomain', 'element'
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM sys_element WHERE code = 'crossDomain'
|
||||
);
|
||||
@ -29,7 +29,7 @@ WHERE NOT EXISTS (
|
||||
SELECT 1 FROM sys_menu WHERE code = 'system_cross_domain'
|
||||
);
|
||||
|
||||
-- 3. 默认分配给 SUPER_ADMIN 角色
|
||||
-- 3. 默认分配给 SUPER_ADMIN 和 SUPERVISOR 角色
|
||||
INSERT INTO sys_role_permission (role_code, target_code, type)
|
||||
SELECT 'SUPER_ADMIN', 'crossDomain', 'element'
|
||||
WHERE NOT EXISTS (
|
||||
@ -37,6 +37,13 @@ WHERE NOT EXISTS (
|
||||
WHERE role_code = 'SUPER_ADMIN' AND target_code = 'crossDomain'
|
||||
);
|
||||
|
||||
INSERT INTO sys_role_permission (role_code, target_code, type)
|
||||
SELECT 'SUPERVISOR', 'crossDomain', 'element'
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM sys_role_permission
|
||||
WHERE role_code = 'SUPERVISOR' AND target_code = 'crossDomain'
|
||||
);
|
||||
|
||||
-- 4. 验证
|
||||
SELECT code, name, menu_code, element_type
|
||||
FROM sys_element WHERE code = 'crossDomain';
|
||||
|
||||
Reference in New Issue
Block a user