You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

qbo3中Process父项变更后外部用户无法访问子Process的问题排查

QBO3 Process权限访问问题:根因分析与修复方案

根因分析

  • 权限缓存未同步:QBO3会缓存用户与业务记录的权限映射关系,手动更新Process.ObjectID后,系统缓存中仍保留旧的Loan关联权限,导致外部用户的权限校验仍指向原错误Loan。
  • ACL记录未自动继承:QBO3的子记录权限依赖父级Loan的ACL(访问控制列表)继承,直接修改ObjectID不会自动将新Loan的权限组同步到对应Process的ACL条目,外部用户的权限未被关联到新的Process记录。
  • 权限计算触发机制缺失:修改Process的父级关联(ObjectID)时,QBO3默认不会触发子记录的权限重新计算流程,导致权限关联未更新。

修复方案

1. 刷新权限缓存

  • 后台执行QBO3内置的缓存清理命令:
    qbo3.Security.Cache.Clear()
    
  • 若仅针对特定外部用户,可重置其个人权限缓存:
    qbo3.User.Permissions.Refresh([UserID])
    
    也可通过系统管理界面的「缓存管理」模块,选择刷新「权限缓存」。

2. 同步Process的ACL关联

  • 批量继承父级Loan权限:在QBO3界面中选中目标Process记录,执行「继承父级权限」的批量操作(通常在记录列表的「批量操作」下拉菜单中)。
  • 若允许直接操作数据库,可执行SQL脚本批量更新ACL:
    UPDATE ProcessACL
    SET GroupID = (SELECT TOP 1 GroupID FROM LoanACL WHERE LoanID = @CorrectLoanID AND PermissionType = 'View')
    WHERE ProcessID IN (SELECT ProcessID FROM Process WHERE ObjectID = @CorrectLoanID)
    
    注意替换@CorrectLoanID为正确的Loan记录ID。

3. 触发权限重新计算

  • 调用QBO3的权限重计算方法,传入目标ProcessID列表:
    qbo3.Process.Permissions.Recalculate([ProcessIDList])
    
  • 批量处理时,可在系统任务模块创建定时/即时任务,执行「Process权限重计算」任务,覆盖所有更新后的Process记录。

验证步骤

  1. 使用问题外部用户账号登录QBO3,尝试访问目标Process记录,确认可正常打开。
  2. 查看Process的ACL记录,确认已关联到新Loan的权限组。

内容的提问来源于stack exchange,提问作者Eric Patrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 16:14:56