fix: 全局权限码 crossDomain/global:cross_company_op 强制存为 company_name='',防止按公司隔离失效
This commit is contained in:
@ -160,16 +160,21 @@ class PermissionService:
|
||||
unique_codes = set(permissions)
|
||||
all_menu_codes = {res[0] for res in session.query(SysMenu.code).all()}
|
||||
|
||||
# 全局权限码 — 不按公司隔离,始终写入 company_name=''
|
||||
GLOBAL_CODES = {'crossDomain', 'global:cross_company_op'}
|
||||
|
||||
new_records = []
|
||||
for code in unique_codes:
|
||||
if not code: continue
|
||||
p_type = 'menu' if code in all_menu_codes else 'element'
|
||||
# 全局权限码强制 company_name='',确保跨公司生效
|
||||
target_company = '' if code in GLOBAL_CODES else company_name
|
||||
|
||||
new_records.append(SysRolePermission(
|
||||
role_code=role_code,
|
||||
target_code=code,
|
||||
type=p_type,
|
||||
company_name=company_name # ★ 存储公司标识
|
||||
company_name=target_company
|
||||
))
|
||||
|
||||
if new_records:
|
||||
|
||||
Reference in New Issue
Block a user