【问题标题】:How to set document level permissions via Sharepoint Designer 2013 worklfow如何通过 Sharepoint Designer 2013 工作流程设置文档级别权限
【发布时间】:2015-08-26 12:27:05
【问题描述】:

我有一个文档审批 SharePoint Designer 2013 工作流。工作流对在文档库中创建新文件夹做出反应。新创建的文件夹将包含用户上传的新文档。我发现我可以使用 REST api 打破/设置新创建的文件夹的权限:

/_api/web/lists/getByTitle('document library')/items('id of the new folder')/breakroleinheritance(copyRoleAssignments=true,clearSubscopes=true)

我的问题是如何打破/设置上传到新文件夹中的文档的权限,可能是通过其余的 api?我真的找不到办法做到这一点。我需要将文件夹降低一级以设置单个文档的权限。任何帮助将不胜感激。

【问题讨论】:

    标签: sharepoint permissions sharepoint-designer sharepoint-workflow


    【解决方案1】:

    设置项目级别权限的简单过程不适用于 SharePoint 2013 工作流。我能做的唯一方法是通过在 Appstep 下调用的 REST api。

    有 2 个调用:

    中断角色继承

    添加角色分配

    This Blog

    【讨论】:

      【解决方案2】:

      通过getfilebyserverrelativeurl端点

      Endpoint Uri: /_api/web/getfilebyserverrelativeurl('<file url>')/ListItemAllFields/breakroleinheritance(true)
      Method: POST
      Headers {Accept: application/json;odata=verbose, X-RequestDigest: <value>}
      

      file url 是服务器相对于文件的 url

      JavaScript 示例:

      function breakRoleInheritance(webUrl,fileUrl) { 
           return $.ajax({
                  url: webUrl + "/_api/web/GetFileByServerRelativeUrl('" + fileUrl + "')/ListItemAllFields/breakroleinheritance(copyRoleAssignments=true,clearSubscopes=true)",
                  type: "POST",
                  contentType: "application/json;odata=verbose",
                  headers: {
                      "Accept": "application/json;odata=verbose",
                      "X-RequestDigest": $("#__REQUESTDIGEST").val()
                  }
           });   
      }
      

      通过ListItem资源

      Endpoint Uri: /_api/web/lists/getByTitle('<list title>')/items('<id>')/breakroleinheritance(copyRoleAssignments=true,clearSubscopes=true)
      Method: POST
      Headers {Accept: application/json;odata=verbose, X-RequestDigest: <value>}
      

      其中list title 列表或库标题,id - 关联的列表项 带文件

      【讨论】:

        【解决方案3】:

        您已经提到“工作流对在文档库中创建新文件夹做出反应。新创建的文件夹将包含用户上传的新文档”。我知道工作流与文件夹内容类型相关联,并且在创建文件夹时,打破权限继承工作正常。

        您缺少的是上传文档时触发的工作流程。您需要将您的工作流与文档内容类型或所有内容类型相关联,以便工作流作用于已创建的任何项目 - 文件夹或文件。

        注意:文件夹内的文件默认继承文件夹的权限。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-03-03
          • 1970-01-01
          • 2013-10-25
          • 1970-01-01
          • 1970-01-01
          • 2017-02-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多