javascript - 使用javascript(ecmascript)获取列表的用户/组权限

标签 javascript sharepoint sharepoint-2010 csom

我正在尝试使用 javascript 对象模型来检索列表的用户/组列表及其在列表级别的权限。到目前为止,我有这个返回一个成员对象,但我无法获得有关该成员的任何信息。当我尝试使用 rAssignment.get_member().get_id() 或 rAssignment.get_member().get_title() 时出现错误。

        //Get List Permissions
        function getListPerms() {
            var clientContext = new SP.ClientContext();
            var siteColl = clientContext.get_site();
            var site = clientContext.get_web();
            listSecurableObject = site.get_lists().getByTitle($("[name='ListSlct']").val());
            listRoleAssignments = listSecurableObject.get_roleAssignments();
            clientContext.load(listRoleAssignments);
            clientContext.executeQueryAsync(Function.createDelegate(this, this.getListPerms_onQuerySucceeded),Function.createDelegate(this, this.getListPerms_onQueryFailed));
       }
       function getListPerms_onQuerySucceeded() {
            var listPerms="";
            listPerms += '<table border="1">';
            listPerms += '<tr>';
            listPerms += '<td align="center">ID</td>';
            listPerms += '</tr>';
            var listPermsEnumerator =  this.listRoleAssignments.getEnumerator();
            while (listPermsEnumerator.moveNext()) {
                var rAssignment = listPermsEnumerator.get_current();
                listPerms += '<tr>';
                listPerms += '<td align="center">' + rAssignment.get_member() +  '</td>';
                listPerms += '</tr>';
            }
            listPerms += '</table>';
            document.getElementById('listPermsTable').innerHTML = listPerms;
       }
       function getListPerms_onQueryFailed(sender, args) {
           alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
       }

最佳答案

尝试按如下方式更改您的 clientContext.load() 函数调用:

clientContext.load(listSecurableObject, 'Include(RoleAssignments, RoleAssignments.Include(Member))');

现在在 getListPerms_onSucceeded() 方法中,您应该能够通过 listSecurableObject.get_roleAssignments() 进行枚举,并获取类似于您已经在做的方法的成员(尽管您可能想要使用 rAssignment.get_member() .get_loginName())。

关于javascript - 使用javascript(ecmascript)获取列表的用户/组权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15935101/

相关文章:

javascript - 如何在 wp7 中进行基于声明的身份验证?

sharepoint - 什么是共享点?对于程序员来说它的主要优点是什么?

sharepoint - 如何决定是否应该在 SharePoint 中开发应用程序

javascript - 是否有一种方法可以覆盖 JavaScript 对象以控制 console.log 显示的内容?

javascript - 如何在使用鼠标指针移动 div 时平滑移动它?

c# - 如何使用 Open XML 将超链接添加到 Word docx 中?

sharepoint-2010 - 从 sharepoint 2013 工作流平台启动 sharepoint 列表工作流 2010 平台

jquery - PerformancePoint、SharePoint 2010 和 JQuery

javascript - 使用 Greasemonkey 修改 Craigslist 的默认搜索结果排序?

php - 如何使用 Javascript/PHP/MySQL 定义和使用站点级别 "User Privilege Level"变量