美文网首页
Apex 中操作用户和组

Apex 中操作用户和组

作者: 程程哥 | 来源:发表于2018-12-13 23:32 被阅读0次

用户和组概述

Salesforce中对于用户的定义主要体现于两个对象:用户(User)和组(Group)。组的成员可以是用户也可以是另一个组。

Salesforce中的组可以有多种表示方法,比如队列(Queue)等,它们在数据库中都是以组(Group)的形式储存。

Salesforce中的多种组件包含关于用户和组的查找类型(Lookup)字段。由于这些字段只存储了一个ID值,所以这些ID既可能是用户的ID,也可能是组的ID。

Apex代码示例

public class UserGroupExample {
    // 判断一个ID的值是否是用户
    public static Boolean isUserId(Id id) {
        return id.getSObjectType().getDescribe() == SObjectType.User;
    }

    // 判断一个ID的值是否是组
    public static Boolean isGroupId(Id id) {
        return id.getSObjectType().getDescribe() == SObjectType.Group;
    }

    // 从一个组中获取所有用户成员的ID
    //   由于组的成员可能是另一个组,所以必须用循环递归来得到所有的用户成员
    public static Set<Id> getAllUserIdFromGroup(Id groupId) {
        App.verifyNotNull('groupId', groupId);

        Set<Id> userIds = new Set<Id>();
        
        List<GroupMember> groupMembers = [SELECT UserOrGroupId FROM GroupMember WHERE GroupId = :groupId];
        
        for(GroupMember gm : groupMembers) {
            if(UserGroupExample.isUserId(gm.UserOrGroupId)) {
                userIds.add(gm.UserOrGroupId);
            } else if(UserGroupExample.isGroupId(gm.UserOrGroupId)){
                userIds.addAll(getAllUserIdFromGroup(gm.UserOrGroupId));
            }
        }

        return userIds;
    }
}

相关文章

  • Apex 中操作用户和组

    用户和组概述 Salesforce中对于用户的定义主要体现于两个对象:用户(User)和组(Group)。组的成员...

  • 常用Linux命令

    用户和组操作 组操作 用户操作 磁盘操作 文件操作 重启网络 硬件属性 任务管理

  • linux 系统用户管理

    除了用户账户外,linux下还有组账户。组是用户的集合、在Linux操作系统中组有两中类型:私有组和公共组,当创建...

  • Linux操作系统--用户和用户组(八)

    一、用户和用户组 用户和用户组管理,顾名思义就是添加用户和用户组、更改密码和设定权限等操作。 Linux用户和组的...

  • Linux用户和用户组

    用户和用户组概念 用户和用户组在Linux系统中是非常重要的,作为系统的超级管理员root,理应把当前操作系统中的...

  • Linux学习第五天

    用户账户的管理 一、用户账户和组账户概述 用户和用户组管理,顾名思义就是添加用户和用户组、更改密码和设定权限等操作...

  • Linux 2018-10-21

    用户管理和用户组管理 用户:使用操作系统的人用户组:具有相同系统权限的一组用户whoami ...

  • 4、用户和组

    用户和组 一、用户: 是用来操作系统中不同功能的身份. Linux系统中用户的分类 1)超级用户: roo...

  • Linux VI编辑器&&用户管理

    慕课网学习笔记 VI编辑器 用户管理 用户:登录操作系统的人用户组:具有相同操作权限的用户 2-1 用户和用户组的...

  • 用户管理

    身份切换 用户操作 用户组操作

网友评论

      本文标题:Apex 中操作用户和组

      本文链接:https://www.haomeiwen.com/subject/bwkbcftx.html