使用 JavaScript 更改 SharePoint 列表的权限

2024-02-23

我有一个创建列表的应用程序。我希望应用程序也将列表权限设置为仅允许管理员对列表进行更改。我知道如何隐藏列表,但我知道这不会阻止聪明的用户输入列表的 URL 并进行修改。

我没有看到使用 JavaScript 更改列表权限的方法。我可以使用的列表功能似乎不允许修改权限,但我可能忽略了正确的功能。

关于我应该查看哪些功能的任何指示?


如何通过 JSOM 为 List 对象启用唯一权限

Use SP.SecurableObject.hasUniqueRoleAssignments 属性 http://msdn.microsoft.com/en-us/library/office/jj246682(v=office.15).aspx确定角色分配是为 List 唯一定义还是从父级安全对象继承。

Use SP.SecurableObject.breakRoleInheritance(copyRoleAssignments,clearSubscopes) 方法 http://msdn.microsoft.com/en-us/library/office/ee659518(v=office.14).aspx为 List 对象设置唯一的角色分配。

Example

var listTitle = 'Documents';
var context = SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle(listTitle);   

context.load(list,'HasUniqueRoleAssignments'); 
context.executeQueryAsync(
   function(){
      var hasUniqueAssgns = list.get_hasUniqueRoleAssignments();
      if(!hasUniqueAssgns) {
         list.breakRoleInheritance(false, true);
         context.executeQueryAsync(
            function(){
                console.log('Success');
            }, 
            function(sender,args){
               console.log(args.get_message());    
            }
         );
      }
   }, 
   function(sender,args){
      console.log(args.get_message());    
   }
);

如何通过 JSOM 为 List 对象授予自定义权限

以下示例演示了如何中断 List 对象的角色继承并授予Full Control当前用户的权限

Example

var listTitle = 'Documents';
var context = SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle(listTitle);   
var currentUser = context.get_web().get_currentUser();

list.breakRoleInheritance(false, true); // break role inheritance first!

var roleDefBindingColl = SP.RoleDefinitionBindingCollection.newObject(context);
roleDefBindingColl.add(context.get_web().get_roleDefinitions().getByType(SP.RoleType.administrator));
list.get_roleAssignments().add(currentUser, roleDefBindingColl);

context.executeQueryAsync(
   function(){
      console.log('Success');
   }, 
   function(sender,args){
      console.log(args.get_message());    
   }
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JavaScript 更改 SharePoint 列表的权限 的相关文章

随机推荐