如何通过Camunda Java API判断用户是否属于组或租户
Camunda Java API 判断用户所属组/租户的方法
判断用户是否属于指定组
通过UserService的查询API可以直接实现,利用memberOfGroup条件过滤用户,再通过结果数量判断是否存在关联:
public boolean isUserInGroup(UserService userService, String userId, String groupId) { return userService.createUserQuery() .userId(userId) .memberOfGroup(groupId) .count() > 0; }
返回true说明该用户已属于目标组;返回false则无关联,可用于避免重复添加或异常校验。
判断用户是否属于指定租户
同理,使用memberOfTenant条件构建查询:
public boolean isUserInTenant(UserService userService, String userId, String tenantId) { return userService.createUserQuery() .userId(userId) .memberOfTenant(tenantId) .singleResult() != null; }
这里用singleResult() != null替代count() > 0,效果完全一致,可根据个人习惯选择。
应用场景
- 添加用户到组/租户前调用,提前判断是否已存在关联,避免重复操作引发异常
- 异常处理流程中,验证用户的组/租户归属是否符合预期
内容的提问来源于stack exchange,提问作者Aziz
相关产品推荐
相关产品推荐

