在 JSOM 或 CSOM 中是否等同于此 Rest 调用?

Equivalent to this Rest call, in JSOM or CSOM?

/_api/web/RoleAssignments?$expand=Member,Member/Users,RoleDefinitionBindings

这行代码为您提供所有 "members" 以及用户。

我似乎在 csom 代码中找不到任何类似的东西,roledefinitionbinding:s 成员似乎没有 "users"?。我错过了什么吗?还是我需要从站点组获取用户。

角色定义本质上是权限级别。

如果您想查看哪些用户和组已被分配 特定权限级别,您应该查看对象的角色分配集合。具体来说,角色分配的成员 属性 表示用户或组。

下面是使用 JavaScript 访问角色分配集合成员的示例:

var clientContext = new SP.ClientContext();
var roleAssignments = clientContext.get_web().get_roleAssignments();
clientContext.load(roleAssignments,"Include(Member)");
clientContext.executeQueryAsync(Function.createDelegate(this,
    function(){
        var roleAssignment, member, members = [],
          roleEnumerator = roleAssignments.getEnumerator();
        while(roleEnumerator.moveNext()){
            roleAssignment = roleEnumerator.get_current();
            member = roleAssignment.get_member();
            members.push({
                type:SP.Utilities.PrincipalType.toString(member.get_principalType()),
                login:member.get_loginName(),
                id:member.get_id(),
                name:member.get_title()
            });
        }
        alert(JSON.stringify(members));
    }),Function.createDelegate(this,
        function(sender,args){
                alert(args.get_message());
        })
);

获得 ID 后,您可以深入“网站群组”集合以查看特定群组的成员。