Annotation Interface DataScope
数据权限范围
-
必需元素概要
所需元素 -
可选元素概要
可选元素修饰符和类型可选元素说明boolean
是否自动把过滤条件添加到 where 语句后面,默认添加到第一个 where 后面Class<? extends DataScopeCustom>
自定义过滤规则Class<? extends DataScopeCondition>
判断是否要进行数据权限过滤com.baomidou.mybatisplus.annotation.DbType
数据库类型,目前仅支持 POSTGRE_SQL | MYSQL | ORACLE部门 表用来关联权限表的主键字段,例如:id部门 表的用于存储所有父级部门的id的字段,例如:pid_all部门表 指定部门信息表,这个主要是为了获取上下级关系,例如:sys_dept组织机构启用状态,默认启动状态是 1boolean
是否扩展扩展数据范围表的关联扩展的部门的 id扩展数据范围表的主键(用来关联是哪个部门需要扩展范围)扩展数据范围表按用户,还是按角色过滤,或者取合集过滤,这里默认按用户过滤boolean
是否包含查询权限子集boolean
是否包含查询权限父级,即,把父级也一起返回boolean
部门表 是否是逻辑删除的逻辑删除字段一对多的数据权限的关联表用于关联部门 表的字段,例如 sys_user_dept 表里面的 dept_id
type 为 MULTI 时必填一对多的数据权限的关联表用于关联需要过滤表的字段,例如 sys_user_dept 表里面的 user_id
type 为 MULTI 时必填如果是一对多的数据权限,这里需要指定需要过滤的表用于关联权限的关联表名,例如:sys_user_dept ,用来关联用户有多个部门
type 为 MULTI 时必填逻辑删除的未删除状态如果查询不到数据权限,或者不存在数据权限关联的时候的处理方式,一般只出现在一对多关联的情况下,比如,可能存在如下的数据关联条件:
这分数据,即可以是按部门来分配权限,也可以单独指定到某个人,那这样,就有可能部门字段是空的,因为他只单独指定到了用户,可以不指定部门
默认不允许,也就是必须要存在数据权限的配置才给通过角色 code,例如:code角色表的主键,用来关联,例如:id角色权限表用于关联部门 表的字段名,例如:sys_role_dept 表里面的 dept_id角色权限表权限字段,按什么过滤权限,也就是 角色权限表里面的某个字段来关联权限,例如,sys_role_dept 表里面的 role_id,是按用户来关联过滤数据权限角色权限表,按角色过滤权限的权限关联表,例如:sys_role_dept角色表,因为一个用户可能是有多个角色的,所以,需要按角色 code 的集合来过滤,就得查询角色表,例如:sys_role如果是自定义 mapper.xml 写 sql ,这里要加入过滤数据权限条件的 sql 的字段,可以把这个 sql 加入到自定义的 sql where 条件里面,但是,注意,一般是使用一个状态字段boolean
是否按状态过滤数据权限类型用户权限表用于关联部门 表的字段名,例如:sys_user_dept 表里面的 dept_id权限字段,按什么过滤权限,也就是 用户权限表里面的某个字段来关联权限,例如,sys_user_dept 表里面的 user_id,是按用户来关联过滤数据权限用户权限表,例如,数据权限体系是使用部门,那第,这个表就是用户和部门的关联表,例如:sys_user_dept
-
元素详细资料
-
-
userScopeTable
String userScopeTable用户权限表,例如,数据权限体系是使用部门,那第,这个表就是用户和部门的关联表,例如:sys_user_dept- 返回:
- string
- 默认值:
- ""
-
userScopeField
String userScopeField权限字段,按什么过滤权限,也就是 用户权限表里面的某个字段来关联权限,例如,sys_user_dept 表里面的 user_id,是按用户来关联过滤数据权限- 返回:
- string
- 默认值:
- ""
-
userScopeDeptId
String userScopeDeptId用户权限表用于关联部门 表的字段名,例如:sys_user_dept 表里面的 dept_id- 返回:
- string
- 默认值:
- ""
-
roleScopeTable
String roleScopeTable角色权限表,按角色过滤权限的权限关联表,例如:sys_role_dept- 返回:
- string
- 默认值:
- ""
-
roleScopeField
String roleScopeField角色权限表权限字段,按什么过滤权限,也就是 角色权限表里面的某个字段来关联权限,例如,sys_role_dept 表里面的 role_id,是按用户来关联过滤数据权限- 返回:
- string
- 默认值:
- ""
-
roleScopeDeptId
String roleScopeDeptId角色权限表用于关联部门 表的字段名,例如:sys_role_dept 表里面的 dept_id- 返回:
- string
- 默认值:
- ""
-
roleTable
String roleTable角色表,因为一个用户可能是有多个角色的,所以,需要按角色 code 的集合来过滤,就得查询角色表,例如:sys_role- 返回:
- string
- 默认值:
- ""
-
roleField
String roleField角色表的主键,用来关联,例如:id- 返回:
- string
- 默认值:
- ""
-
roleCode
String roleCode角色 code,例如:code- 返回:
- string
- 默认值:
- ""
-
deptTable
String deptTable部门表 指定部门信息表,这个主要是为了获取上下级关系,例如:sys_dept- 返回:
- string
- 默认值:
- ""
-
deptId
String deptId部门 表用来关联权限表的主键字段,例如:id- 返回:
- string
- 默认值:
- ""
-
deptPidAll
String deptPidAll部门 表的用于存储所有父级部门的id的字段,例如:pid_all- 返回:
- string
- 默认值:
- ""
-
multiTable
String multiTable如果是一对多的数据权限,这里需要指定需要过滤的表用于关联权限的关联表名,例如:sys_user_dept ,用来关联用户有多个部门
type 为 MULTI 时必填- 返回:
- string
- 默认值:
- ""
-
multiFiled
String multiFiled一对多的数据权限的关联表用于关联需要过滤表的字段,例如 sys_user_dept 表里面的 user_id
type 为 MULTI 时必填- 返回:
- string
- 默认值:
- ""
-
multiDeptId
String multiDeptId一对多的数据权限的关联表用于关联部门 表的字段,例如 sys_user_dept 表里面的 dept_id
type 为 MULTI 时必填- 返回:
- string
- 默认值:
- ""
-
sqlField
String sqlField如果是自定义 mapper.xml 写 sql ,这里要加入过滤数据权限条件的 sql 的字段,可以把这个 sql 加入到自定义的 sql where 条件里面,但是,注意,一般是使用一个
关联起来<if test="_parameter.containsKey('_data_scope_') and _data_scope_ != null"> and exists(${_data_scope_}) </if>
- 返回:
- string
- 默认值:
- "_data_scope_"
-
filterType
DataScopeFilterType filterType按用户,还是按角色过滤,或者取合集过滤,这里默认按用户过滤- 返回:
- DataScopeFilterType
- 另请参阅:
- 默认值:
- USER
-
type
DataScopeType type数据权限类型- 返回:
- DataScopeType
- 另请参阅:
- 默认值:
- SINGLE
-
logicDelete
boolean logicDelete部门表 是否是逻辑删除的- 返回:
- boolean
- 默认值:
- false
-
logicField
String logicField逻辑删除字段- 返回:
- string
- 默认值:
- ""
-
notDeletedStatus
String notDeletedStatus逻辑删除的未删除状态- 返回:
- string
- 默认值:
- ""
-
dbtype
com.baomidou.mybatisplus.annotation.DbType dbtype数据库类型,目前仅支持 POSTGRE_SQL | MYSQL | ORACLE- 返回:
- DbType
- 默认值:
- POSTGRE_SQL
-
includeChildren
boolean includeChildren是否包含查询权限子集- 返回:
- boolean
- 默认值:
- true
-
includeParents
boolean includeParents是否包含查询权限父级,即,把父级也一起返回- 返回:
- boolean
- 默认值:
- false
-
dataScopeCondition
Class<? extends DataScopeCondition> dataScopeCondition判断是否要进行数据权限过滤- 返回:
- boolean
- 默认值:
- io.github.mangocrisp.spring.taybct.tool.core.config.DefaultDataScopeCondition.class
-
custom
Class<? extends DataScopeCustom> custom自定义过滤规则- 返回:
- string
- 默认值:
- io.github.mangocrisp.spring.taybct.tool.core.config.DefaultDataScopeCustom.class
-
notExistDealType
DataScopeGetNotDealType notExistDealType如果查询不到数据权限,或者不存在数据权限关联的时候的处理方式,一般只出现在一对多关联的情况下,比如,可能存在如下的数据关联条件:
这分数据,即可以是按部门来分配权限,也可以单独指定到某个人,那这样,就有可能部门字段是空的,因为他只单独指定到了用户,可以不指定部门
默认不允许,也就是必须要存在数据权限的配置才给通过- 默认值:
- FORBID
-
auto
boolean auto是否自动把过滤条件添加到 where 语句后面,默认添加到第一个 where 后面- 返回:
- boolean
- 默认值:
- true
-
extensible
boolean extensible是否扩展- 返回:
- boolean
- 默认值:
- false
-
extensionScopeTable
String extensionScopeTable扩展数据范围表- 返回:
- string
- 默认值:
- ""
-
extensionScopeField
String extensionScopeField扩展数据范围表的主键(用来关联是哪个部门需要扩展范围)- 返回:
- string
- 默认值:
- ""
-
extensionScopeDeptId
String extensionScopeDeptId扩展数据范围表的关联扩展的部门的 id- 返回:
- string
- 默认值:
- ""
-
statusFilter
boolean statusFilter是否按状态过滤- 返回:
- boolean
- 默认值:
- false
-
statusField
String statusField状态字段- 返回:
- string
- 默认值:
- ""
-
enableStatus
String enableStatus组织机构启用状态,默认启动状态是 1- 返回:
- string
- 默认值:
- "1"
-