组织权限数据表
组织权限模型包括
- 组织相关的7个数据表:用户表 users、组织表 orgs、组织类型表 org_types、管理组织表 manage_orgs、管理角色表 manage_roles、群组表 groups、群组成员表 group_membership
- 权限相关的5个数据表:权限资源表 permission_resource、权限表 permission、角色表 role、授权表 authorize、代理表 delegation
组织相关表
用户表 users
用户表包括系统中的全部用户,集成第三方系统后,会生成影子账户
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
用户 ID | id | id | character(36) | 用户 ID |
创建时间 | created | created | datetime | 创建时间 |
修改时间 | lastModified | last_modified | datetime | 最后修改时间 |
版本 | version | version | bigint | 版本 |
用户名 | username | username | character varying(254) | 登录名、用户编码、唯一 |
密码 | password | password | character varying(254) | 密码 |
邮箱 | character varying(254) | 邮箱 | ||
用户类型 | authorities | authorities | character varying(1024) | 用户类型 |
名字 | name | name | character varying(254) | 用户姓名 |
激活状态 | active | active | int | 用户状态,1表示启用,0表示禁用, 禁用状态不能登录 |
手机号 | phoneNumber | phone_number | character varying(254) | 手机号 |
验证状态 | verified | verified | int | 账号状态,1表示启用,0表示禁用, 禁用状态不能登录 |
外部用户 id | externalId | external_id | character varying(254) | 第三方账户 id |
salt | salt | salt | character varying(254) | salt |
密码修改日期 | passwdLastModified | passwd_last_modified | datetime | 最后修改密码日期 |
密码修改 | passwdChangeRequired | passwd_change_required | int | 密码是否需要修改,1表示需要修改, 需要修改则不能登录 |
最后登录时间 | lastLogonSuccessTime | last_logon_success_time | bigint | 最后登录时间 |
前次登录时间 | previousLogonSuccessTime | previous_logon_success_time | bigint | 前次登录时间 |
data1 | data1 | data1 | character varying(254) | openid |
data2 | data2 | data2 | character varying(254) | 省 |
data3 | data3 | data3 | character varying(254) | 市 |
data4 | data4 | data4 | character varying(254) | |
data5 | data5 | data5 | character varying(254) | 微博 |
data6 | data6 | data6 | character varying(254) | 国家 |
data7 | data7 | data7 | character varying(254) | 主岗 ID |
data8 | data8 | data8 | character varying(254) | 用户可使用 |
data9 | data9 | data9 | character varying(254) | 办公地址 |
data10 | data10 | data10 | character varying(254) | 职位 |
data11 | data11 | data11 | character varying(254) | 调试运行 token,系统内部使用 |
data12 | data12 | data12 | character varying(254) | 用户可使用 |
data13 | data13 | data13 | character varying(254) | 用户可使用 |
data14 | data14 | data14 | character varying(254) | 用户可使用 |
data15 | data15 | data15 | int | 性别 |
data16 | data16 | data16 | int | 用户可使用 |
data17 | data17 | data17 | datetime | 生日 |
data18 | data18 | data18 | datetime | 入职日期 |
描述 | description | description | character varying(254) | 备注 |
头像 | avatarUrl | avatar_url | character varying(1024) | 头像图片 |
引用的账户 | realUser | real_user | character varying(128) | 为空表示正常账户,不为空表示影子账户。 集成第三方时的影子账号对应的真实账号 |
签名 | signature | signature | character varying(1024) | 签名图片 |
身份证 | idcard | idcard | character varying(32) | 身份证 |
排序号 | sortNumber | sort_number | int | 开启全局人员排序后有效 |
token_salt | tokenSalt | token_salt | character varying(254) | token_salt |
类型 | type | type | character varying(254) | 人员类型,org 表示组织内用户,空表示外部用户 |
设置了两个后端过滤
- 用户后端过滤 usersBackFilter:默认获取 active=1 的数据,排除禁用的用户,传入 all 获取全部数据
- 真实用户后端过滤 realUsersBackFilter:默认获取 realUser 为空的数据,排除了影子账户,传入 all 获取全部数据
使用 DBRest Java SDK 查询全部真实用户的代码如下:
DbrestWrapper<?> userWrapper = (DbrestWrapper<?>)new DbrestWrapper<String>("entry"."uaa","users");
userWrapper.eq("$usersBackFilter","all");//去掉active=1的过滤条件
List<Users> userList = DbrestUtil.selectAll(userWrapper,User.class);
组织表 orgs
组织表是树形数据,父节点指向父组织。包括完整的组织,即如果一人多岗,会出现多条人员记录,标识相同,父节点不同,主键不同。
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
组织 ID | orgID | org_id | character varying(255) | 组织和人员成员的 ID,组织的 orgID 等于 ID,人员成员的 orgID 等于人员 ID@组织 ID |
全路径主键 | forgID | forg_id | character varying(4096) | 以路径的形式记录从根组织以来的各级主键,用于维护其他全路径字段和树形属性字段 |
类型化标识 | typedID | typed_id | character varying(136) | 组织 ID.组织类型,用于形成 fid(组织人员成员全路径ID) |
父节点 | parentID | parent_id | character varying(130) | 存储父节点 ID,形成树形数据 |
标识 | id | id | character varying(130) | 组织和人员的 ID |
编码 | code | code | character varying(130) | 组织和人员的编码 |
名称 | name | name | character varying(255) | 组织和人员的名称 |
全路径标识 | fid | fid | character varying(4096) | 以路径的形式记录从根组织以来的各级id,每一级路径都包括组织类型 |
全路径编码 | fcode | fcode | character varying(4096) | 以路径的形式记录从根组织以来的各级编码 |
全路径名称 | fname | fname | character varying(4096) | 以路径的形式记录从根组织以来的各级名称 |
序列号 | sequence | sequence | character varying(4096) | 以路径的形式记录从根组织以来的各级序号 |
序号 | seq | seq | character varying(64) | 同一级组织下的序号 |
组织类型 | type | type | character varying(36) | 组织类型 |
叶子节点 | leaf | leaf | int | 是否末级节点 |
层级 | level | level | int | 组织的层级 |
状态 | active | active | int | 整形,1表示启用,0表示禁用 |
设置了一个后端过滤
- 组织后端过滤 orgsBackFilter:默认获取 active=1 的数据,排除禁用的组织,传入 all 获取全部数据
组织类型表 org_types
组织类型表包括系统基础组织类型和用户扩展的组织类型
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
主键 | id | id | varchar(254) | 规则见下面的特别说明 |
类型名称 | typeName | type_name | varchar(254) NULL | 组织类型名称 |
父 ID | parentID | parent_id | varchar(254) NULL | 父组织类型 ID |
显示图标 | typeIcon | type_icon | mediumtext NULL | 显示图标 |
启用状态 | active | active | int(11) NULL | 1表示启用,0表示禁用 |
允许的下级类型 | subTypes | sub_types | varchar(512) NULL | 允许的下级组织类型名称,逗号分隔 |
允许的下级类型 ID | subTypeIDs | sub_type_ids | varchar(254) NULL | 允许的下级组织类型 ID,逗号分隔 |
包含的岗位角色 | includePosRoles | include_pos_roles | mediumtext NULL | 包含的岗位角色名称,逗号分隔 |
包含的岗位角色 ID | includePosRoleIDs | include_pos_role_ids | varchar(254) NULL | 包含的岗位角色 ID,逗号分隔 |
包含的岗位角色编码 | includePosRoleCodes | include_pos_role_codes | varchar(254) NULL | 包含的岗位角色编码,逗号分隔 |
顺序号 | sortNo | sort_no | int(11) NULL | 顺序号 |
是否顶级组织 | enableRoot | enable_root | int(11) NULL | 1表示顶级组织,0表示非顶级组织 |
特别说明
- 基础组织类型的 ID:机构 ogn、部门 dpt、岗位 pos、人员成员 psm、虚节点 vir
- 扩展组织类型的 ID 是有规则的,长度四位,第一位是数字或字母,后三位是基础组织类型的 ID,例如:0ogn、0dpt
- 系统通过对组织类型后3位的判断,了解组织所属的基础组织类型,系统内部处理使用
- 扩展组织类型时,系统先使用数字作为第一位,数字用完了,再使用字母作为第一位
管理组织表 manage_orgs
管理组织表包括组织角色管理者和管理组织的信息
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
主键 | id | id | varchar(36) | 主键 |
角色 ID | roleId | role_id | varchar(36) NULL | 组织角色 ID |
组织 ID | orgID | org_id | varchar(255) NULL | 管理者的组织 ID |
管理组织 ID | manageOrgID | manage_org_id | varchar(254) NULL | 管理组织的组织 ID |
管理组织 FID | manageOrgFID | manage_org_fid | varchar(4000) NULL | 管理组织的全路径标识 |
管理角色表 manage_roles
管理角色表包括子管理员管理的角色信息
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
主键 | id | id | varchar(36) | 主键 |
组织 ID | orgID | org_id | varchar(255) NULL | 子管理员的组织 ID |
管理角色 ID | manageRoleId | manage_role_id | varchar(36) NULL | 管理的角色 ID |
群组表 groups
群组表包括系统中的全部群组
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
id | id | id | character(74) | 群组 id |
编码 | code | code | character varying(255) | 群组编码 |
组名 | name | name | character varying(255) | |
创建时间 | created | created | datetime | |
修改时间 | lastModified | last_modified | datetime | |
版本 | version | version | int | |
描述 | description | description | character varying(255) | |
类型 | type | type | character varying(128) | |
--扩展1 | data1 | data1 | character varying(254) | 用户可使用 |
--扩展2 | data2 | data2 | character varying(254) | 用户可使用 |
--扩展3 | data3 | data3 | int | 用户可使用 |
--扩展4 | data4 | data4 | datetime | 用户可使用 |
群组成员表 group_membership
群组成员表,群组的成员包括群组和用户
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
群组 id | groupId | group_id | character varying(74) | 本表中的 group_id |
成员 id | memberId | member_id | character varying(74) | 本表中的 group_id 或 users 表中的 id |
成员类型 | memberType | member_type | character varying(8) | 用户是 USER、群组是 GROUP |
授权 | authorities | authorities | character varying(255) | |
创建时间 | added | added | datetime |
权限相关表
权限资源表 permission_resource
权限资源表包括系统中的所有权限项
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
主键 | id | id | varchar(36) | id |
创建人 | createdBy | created_by | varchar(255) NULL | 创建人 |
创建时间 | createdDate | created_date | datetime NULL | 创建时间 |
描述 | description | description | varchar(255) NULL | 描述 |
最后修改人 | lastModifiedBy | last_modified_by | varchar(255) NULL | 最后修改人 |
最后修改时间 | lastModifiedDate | last_modified_date | datetime NULL | 最后修改时间 |
序号 | sequence | sequence | varchar(255) NULL | 序号 |
有效状态 | active | active | int(11) NULL [1] | 1表示有效,0表示无效 |
版本 | version | version | int(11) NULL [0] | 乐观锁 |
编码 | code | code | varchar(512) | 权限项编码,采用三段式设计 |
名称 | name | name | varchar(512) NULL | 权限项名称 |
类型 | type | type | varchar(255) NULL | 权限项类型: 功能权限 menu、界面权限 ui 数据权限 sql、API权限 service |
权限表 permission
权限表包括权限项和角色的对应关系
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
主键 | id | id | varchar(36) | id |
创建人 | createdBy | created_by | varchar(255) NULL | 创建人 |
创建时间 | createdDate | created_date | datetime NULL | 创建时间 |
描述 | description | description | varchar(255) NULL | 描述 |
最后修改人 | lastModifiedBy | last_modified_by | varchar(255) NULL | 最后修改人 |
最后修改时间 | lastModifiedDate | last_modified_date | datetime NULL | 最后修改时间 |
序号 | sequence | sequence | varchar(255) NULL | 序号 |
有效状态 | active | active | int(11) NULL [1] | 1表示有效,0表示无效 |
版本 | version | version | int(11) NULL [0] | 乐观锁 |
编码 | code | code | varchar(512) | 权限项编码,采用三段式设计 |
条件 | condition | _condition | mediumtext NULL | 存储数据权限的详细配置 |
名称 | name | name | varchar(512) NULL | 权限项名称 |
服务名称 | serviceName | service_name | varchar(255) | 权限项所属的服务名 |
类型 | type | type | varchar(255) NULL | 权限项类型: 功能权限 menu、界面权限 ui 数据权限 sql、API权限 service |
角色 | role | role_id | varchar(36) NULL | 角色 ID |
角色表 role
角色表是树形数据,父节点只表示界面上的层级关系,不代表角色继承关系
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
主键 | id | id | varchar(36) | 角色 ID |
创建人 | createdBy | created_by | varchar(255) NULL | 创建人 |
创建时间 | createdDate | created_date | datetime NULL | 创建时间 |
描述 | description | description | varchar(255) NULL | 描述 |
最后修改人 | lastModifiedBy | last_modified_by | varchar(255) NULL | 最后修改人 |
最后修改时间 | lastModifiedDate | last_modified_date | datetime NULL | 最后修改时间 |
序号 | sequence | sequence | varchar(255) NULL | 序号 |
有效状态 | active | active | int(11) NULL [1] | 1表示有效,0表示无效 |
版本 | version | version | int(11) NULL [0] | 乐观锁 |
编码 | code | code | varchar(512) NULL | 角色编码 |
类型 | type | type | varchar(255) NULL | 角色类型:应用角色 service、业务角色 biz、 组织角色 org、岗位角色 pos |
名称 | name | name | varchar(512) NULL | 角色名称 |
父节点 | parentNode | parent_node | varchar(64) NULL | 父节点只表示界面上的层级关系,不代表角色继承关系 |
父角色编码 | parentRoleCodes | parent_role_codes | mediumtext NULL | 包含的角色编码,多个角色逗号分隔 |
父角色名称 | parentRoleNames | parent_role_names | mediumtext NULL | 包含的角色名称,多个角色逗号分隔 |
SQL 模板参数值 | sqlParamValues | sql_param_values | varchar(512) NULL | SQL 模板参数值 |
授权表 authorize
授权表包括授权主体和角色的对应关系
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
主键 | id | id | varchar(36) | id |
创建人 | createdBy | created_by | varchar(255) NULL | 创建人 |
创建时间 | createdDate | created_date | datetime NULL | 创建时间 |
描述 | description | description | varchar(255) NULL | 授权主体的组织全路径名称 |
最后修改人 | lastModifiedBy | last_modified_by | varchar(255) NULL | 最后修改人 |
最后修改时间 | lastModifiedDate | last_modified_date | datetime NULL | 最后修改时间 |
序号 | sequence | sequence | varchar(255) NULL | 序号 |
有效状态 | active | active | int(11) NULL [1] | 1表示有效,0表示无效 |
版本 | version | version | int(11) NULL [0] | 乐观锁 |
主体 | subjectId | subject_id | varchar(255) NULL | 授权主体的组织 ID |
主体编码 | subjectCode | subject_code | varchar(255) NULL | 授权主体的组织编码 |
主体类型 | subjectType | subject_type | varchar(255) NULL | 授权主体类型 |
主体名称 | subjectName | subject_name | varchar(255) NULL | 授权主体的组织名称 |
角色 | role | role_id | varchar(36) NULL | 角色 ID |
代理表 delegation
代理表包括系统中全部的代理信息
列名称 | 模型名 | 字段名 | 类型 | 备注 |
---|---|---|---|---|
id | id | id | varchar(255) | id |
创建人 | createdBy | created_by | varchar(254) NULL | 创建人 |
创建日期 | createdDate | created_date | datetime NULL | 创建日期 |
描述 | description | description | varchar(254) NULL | 描述 |
最后修改人 | lastModifiedBy | last_modified_by | varchar(254) NULL | 最后修改人 |
最后修改时间 | lastModifiedDate | last_modified_date | datetime NULL | 最后修改时间 |
序号 | sequence | sequence | varchar(254) NULL | 序号 |
有效状态 | active | active | int(11) NULL | 1表示有效,0表示无效 |
版本 | version | version | int(11) NULL | 乐观锁 |
受托人 | delegator | delegator | varchar(254) NULL | 受托人的用户 ID |
受托人名字 | delegatorName | delegatorName | varchar(254) NULL | 受托人名字 |
委托人 | delegatee | delegatee | varchar(254) | 委托人的用户 ID |
委托人名字 | delegateeName | delegateeName | varchar(254) NULL | 委托人名字 |
委托信息 | authorities | authorities | mediumtext NULL | 委托信息,支持代理岗位 |
开始时间 | startTime | startTime | datetime NULL | 委托开始时间 |
结束时间 | endTime | endTime | datetime NULL | 委托结束时间 |
token | token | token | varchar(254) NULL | 委托人的登录 token |