20260922172938
This commit is contained in:
1 parent
583984c24f
commit
c8dad8d4a6
46 files changed
+3366
-1246
No files matched your search
@@ -0,0 +1,24 @@
|
||||
/* ============================================================================
|
||||
s_module 增加 b_scope_field(数据范围字段)
|
||||
----------------------------------------------------------------------------
|
||||
数据范围按"记录归属人"判:这个字段就是区分数据是谁创建的(如 b_inputuser_id、
|
||||
b_applyuser_id)。权限引擎据此拼条件:
|
||||
self → 字段 = 当前用户编码
|
||||
dept → 由当前用户反查部门,字段 ∈ 该部门的用户集合
|
||||
dept_tree → 同上,"本部门及下级"取部门子树
|
||||
字段配在模块上而不是配在用户授权行(s_user_data_power.b_scope_field)上:
|
||||
同一个模块的所有用户必须用同一字段判范围,否则同一份数据对不同用户含义不同,
|
||||
也没法解释"为什么这个用户看得到、那个看不到"。授权行上的同名列不再参与判定
|
||||
(权限引擎只读本列),用户授权界面写入时统一清空它。
|
||||
历史行保持 NULL:NULL = 该模块不按字段判范围,权限引擎遇到 self / dept /
|
||||
dept_tree 规则时会明确报"未配置判断字段",不静默放行。
|
||||
============================================================================ */
|
||||
|
||||
if not exists (
|
||||
select 1
|
||||
from sys.columns
|
||||
where object_id = object_id('dbo.s_module')
|
||||
and name = 'b_scope_field'
|
||||
)
|
||||
alter table dbo.s_module add b_scope_field varchar(50) null;
|
||||
GO
|
||||
Reference in new issue
Block a user