From de2d13fa680848f98cac4b24104fa8bbac339ab5 Mon Sep 17 00:00:00 2001 From: yueli Date: Fri, 17 Jul 2026 15:50:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=A8=E5=B1=80=E6=9D=83=E9=99=90?= =?UTF-8?q?=E7=A0=81=20crossDomain/global:cross=5Fcompany=5Fop=20=E5=BC=BA?= =?UTF-8?q?=E5=88=B6=E5=AD=98=E4=B8=BA=20company=5Fname=3D''=EF=BC=8C?= =?UTF-8?q?=E9=98=B2=E6=AD=A2=E6=8C=89=E5=85=AC=E5=8F=B8=E9=9A=94=E7=A6=BB?= =?UTF-8?q?=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inventory-backend/app/services/permission_service.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/inventory-backend/app/services/permission_service.py b/inventory-backend/app/services/permission_service.py index 4ddaf65..9024154 100644 --- a/inventory-backend/app/services/permission_service.py +++ b/inventory-backend/app/services/permission_service.py @@ -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: