You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.7 KiB
1.7 KiB
06 · 确认写侧归属不受分模块影响:MetaObjectFillHandler
Type: grilling Status: resolved
Question
写侧 MetaObjectFillHandler(插入时填 owner_id/dept_id,取自 currentOwnership())
在数据权限分模块后是否受影响?
初判不受影响:归属填充只关乎「新数据归谁」= 当前用户 + 主部门,与「能看多宽」的档位无关, 更与「哪个模块」无关(同一用户主部门不随模块变)。本票的活是确认掉这个判断, 或指出确实需要动的点,把它从雾里清出去。
- 若 04 改了
currentOwnership()签名(如需传模块),本票需相应确认;否则可独立于依赖链先关。 - 若确认不受影响,答案记「不受影响 + 理由」,不产生实现工单。
无阻塞——可随时开工确认。
Answer
确认:不受影响,不产生实现工单
写侧 MetaObjectFillHandler.insertFill 调 DataVisibilityContext.currentOwnership() 拿 DataOwnership(ownerId, primaryDeptId) 填 owner_id / dept_id 列。这是身份维度(当前用户 + 主部门 ADR-0005),与数据范围档位(SELF / DEPT / DEPT_AND_CHILDREN / ALL)正交。
分模块改造改的是 currentScope()(读侧,每个模块各一份档位),不改 currentOwnership()(写侧,身份不随模块变)。同一用户的主部门不随模块变化。
currentOwnership()签名不需加 module 参数——身份与模块无关。DataOwnership值对象不需改——它只承载 ownerId + primaryDeptId。MetaObjectFillHandler不需改——它不读 scope,只读 ownership。
一句话:写侧填归属(谁的新数据),读侧按模块过滤(能看到什么),两者正交。