一、数据权限定义
数据权限主要分为维护权限,使用权限,特殊权限。
操作是与业务实体相关联的业务行为,分为维护类操作和使用类操作。
A. 维护类操作:对业务实体数据进行维护,改变其属性的操作,例如删除、修改等。
B. 使用类操作(使用场景):不改变业务实体数据的属性,只是引用业务实体数据的操作,例如参照,引用等。
NC6.0系统中对数据权限做了重大调整,对资源实体做了扩充,引入了权限规则,操作等概念,模型概念图如下图所示:
二、数据权限规则
目前NC6.0数据权限采用禁止权优先的原则,例如一旦用户所在的角色有一个设置了无权那么他就没有操作的权限。如果特殊权限和维护权限都配置了,则依然采用禁止权优先的原则。
NC6.0数据权限按照使用的场景,分为维护权限和使用权限两部分,维护数据权限是指对某种资源实体的数据有无增删改查的权限,典型的应用场景包括对某条单据进行修改操作或者删除操作时,校验当前用户是否有权限进行这项操作。
而使用权限则是指在资源实体被引用到某个场景的时候,对当前用户的限制,换句话说就是控制用户对某资源实体的数据引用查看校验。
|
维护权限 |
使用权限 |
应用场景 |
修改,删除等操作 |
查询,参照过滤等 |
|
授予类型的权限,如果某角色对某资源不设置维护数据权限,则认为该角色对这个资源有权 |
限制类型的权限,如果某角色对某资源不设置使用数据权限,则认为改角色对这个资源有权 |
|
可在不同的角色下定义不同的维护权限规则 |
可在不同的角色下定义不同的使用权限规则 |
|
分为两级:粗粒度级规则即(全部有权或者合部无权);细粒度规则(指可以对元数据上的每个字段进行权限的控制) |
分为两级:粗粒度级规则即(全部有权或者合部无权);细粒度规则(指可以对元数据上的每个字段进行权限的控制) |
|
特殊权限与数据权限是Or关系,但是采用禁止权优先原则 |
三、规则控制组合
3.1不需执行后台任务生效的
1.用户关联一个角色,定义规则,全部有权,全部无权均应控制正确;角色未定义规则,即未启用数据权限,控制结果集为全部
2.用户关联两个角色,两个角色均定义使用权限规则,控制结果集取两个规则的合集
3.用户关联两个角色,一个角色定义规则,一个角色不定义规则,控制结果集为按规则控制
4.用户关联两个角色,一个角色定义规则,一个角色全部有权,控制结果集为全部有权