@bropen.toolkit.annotation.DomainEquals(compareMap = true, includes = "id, role, type, entityIdent, excluded") class RoleEntity extends Object
角色与各种实体的关联表
| Modifiers | Name | Description |
|---|---|---|
static List<String> |
TYPES |
二类服务接口:实现了 boolean XXXX(Map role, User user, bean) 的服务名称和方法名;业务流程的不需要。 |
static String |
TYPE_GRP |
群组ID |
static String |
TYPE_GRP_CODE |
群组代码 |
static String |
TYPE_LVL |
员工身份级别:[ORG|][? |
static String |
TYPE_ORG |
机构ID,包含下级机构 |
static String |
TYPE_ORG_CHILDREN |
机构ID,仅包含下级机构 |
static String |
TYPE_ORG_CHILDREN_CODE |
机构代码,支持通配符 *,仅包含下级机构 |
static String |
TYPE_ORG_CODE |
机构代码,支持通配符 *,包含下级机构 |
static String |
TYPE_ORG_SELF |
机构ID,仅包含本部 |
static String |
TYPE_ORG_SELF_CODE |
机构代码,支持通配符 *,仅包含本部 |
static String |
TYPE_POS |
岗位ID |
static String |
TYPE_POS_CODE |
岗位代码或名称:[ORG|]XX;其中ORG为机构ID(数字)、或机构代码(支持通配符*,如果也是数字,可以加前缀'表明是机构代码),包含下级机构;XX为岗位代码或名称(支持通配符*) |
static String |
TYPE_POS_CODE_ORGSELF |
岗位代码或名称:格式同上,但ORG部分不包含下级机构 |
static String |
TYPE_ROL |
继承:角色ID;此时 excluded 始终为否 |
static String |
TYPE_ROL_CODE |
继承:角色代码,支持通配符*;此时 excluded 始终为否 |
static String |
TYPE_SCR |
脚本接口:能根据参数 Map role 返回用户 ID 列表或形如 [userId: xx, eiId: xx] 的用户与身份关系列表的 groovy 代码文本。 |
static String |
TYPE_SRV |
服务接口:格式 "服务名.方法名",形如 List xxxx(Map role) 的服务接口,返回用户 ID 列表或形如 [userId: xx, eiId: xx] 的用户与身份关系列表。 |
static String |
TYPE_USR |
用户ID |
static String |
TYPE_USR_NAME |
用户名:支持通配符* |
| Type | Name and description |
|---|---|
static Object |
belongsTo |
static Object |
constraints |
String |
entityIdent实体标识 |
Boolean |
excluded排除关系:排除关系仅在本角色内有效,不继承 |
static Object |
mapping |
String |
type实体类型 |
| Type | Name and description |
|---|---|
static Role |
linkEntity(Role role, String type, String entityIdent, boolean flush = false, boolean insert = false)关联某个实体 |
static Role |
linkRole(Role role, String roleCodes, boolean flush = false, boolean insert = false)角色继承,类型设置为 TYPE_ROL_CODE |
static Role |
linkUser(Role role, User user, boolean flush = false, boolean insert = false)直接关联角色与用户 |
static Role |
linkUser(String roleCode, String username, boolean flush = false, boolean insert = false)直接关联角色与用户 |
String |
toString() |
static Integer |
unlinkEntity(Role role, String type, String entityIdent)取消角色关联的某个实体 |
static Integer |
unlinkEntity(Long roleId, String type, String entityIdent)取消角色关联的某个实体 |
static Integer |
unlinkRole(Role role)取消角色继承 |
static Integer |
unlinkUser(Role role, User user) |
static Integer |
unlinkUsers(Role role)取消角色与用户的直接关联 |
static Integer |
unlinkUsers(User user) |
| Methods inherited from class | Name |
|---|---|
class Object |
Object#wait(long, int), Object#wait(long), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
二类服务接口:实现了 boolean XXXX(Map role, User user, bean) 的服务名称和方法名;业务流程的不需要。
群组ID
群组代码
员工身份级别:[ORG|][?A].[?B];ORG部分同岗位,包含下级机构;后面A、B分别表示机构级别和员工在该机构的级别,?为逻辑比较符号,支持"><="的6种组合
机构ID,包含下级机构
机构ID,仅包含下级机构
机构代码,支持通配符 *,仅包含下级机构
机构代码,支持通配符 *,包含下级机构
机构ID,仅包含本部
机构代码,支持通配符 *,仅包含本部
岗位ID
岗位代码或名称:[ORG|]XX;其中ORG为机构ID(数字)、或机构代码(支持通配符*,如果也是数字,可以加前缀'表明是机构代码),包含下级机构;XX为岗位代码或名称(支持通配符*)
岗位代码或名称:格式同上,但ORG部分不包含下级机构
继承:角色ID;此时 excluded 始终为否
继承:角色代码,支持通配符*;此时 excluded 始终为否
脚本接口:能根据参数 Map role 返回用户 ID 列表或形如 [userId: xx, eiId: xx] 的用户与身份关系列表的 groovy 代码文本。
服务接口:格式 "服务名.方法名",形如 List xxxx(Map role) 的服务接口,返回用户 ID 列表或形如 [userId: xx, eiId: xx] 的用户与身份关系列表。
用户ID
用户名:支持通配符*
实体标识
排除关系:排除关系仅在本角色内有效,不继承
实体类型
关联某个实体
角色继承,类型设置为 TYPE_ROL_CODE
roleCodes - 用逗号或分号分隔的角色代码列表,支持通配符*直接关联角色与用户
role - 角色对象user - 用户对象。如果还没有 id(未持久化),会先自动调用 save(flush: true) 以获得 id,此时性能较低。flush - 关联后,是否 flush 当前数据库 session。insert - 关联操作是否为强制插入到数据库,能提升点性能;但是如果用户已有某个角色,此时就会出错了,设置为 false 即可。直接关联角色与用户
code - 角色代码。默认从当前应用中计算对应的角色,如果不存在则则从当前域中计算,还不存在则取不在任何域中的角色。username - 用户名取消角色关联的某个实体
取消角色关联的某个实体
取消角色继承
取消角色与用户的直接关联