datasShareSetting


URI

<myDatas_uri>/sharesetting[.<format>]

支持的方法

PUT

父资源

myDatas

介绍

datasShareSetting 是数据的共享设置资源,通过发送 PUT 请求,可以单个/批量更新数据的权限信息。数据文件的上传者和管理员可以更新数据文件的权限信息。

datasShareSetting 资源对应的共享数据方式有五种,分别为私有公开、指定部门、指定群组指定用户。私有表示允许数据上传者和管理员检索、下载数据;公开表示允许所有用户(包含匿名用户)检索和下载数据,需要授予对应的权限类型;指定部门表示允许指定部门的成员检索和下载数据,需要授予对应的权限类型;指定群组表示允许指定一个或多个群组的成员检索和下载数据,需要授予对应的权限类型;指定用户表示允许指定一个或多个用户检索和下载数据,需要授予对应的权限类型。

注意

支持的方法:

支持的表述格式:RJSON、JSON、HTML、XML。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。

http://supermapiportal:8190/iportal/web/mycontent/datas/sharesetting.rjson

PUT 请求

批量更新数据的权限信息。

请求参数

发送请求时,需要在请求体中传递如下参数:

名称 类型 含义
ids List<Integer> 数据的 id 数组。
entities List<IportalDataAuthorizeEntity> 数据的共享设置。其中数据的权限类型包括:SEARCH(检索)和 DOWNLOAD (下载) 权限。

其中 entities 实体类的结构如下:

字段 类型 说明
dataPermissionType DataPermissionType 数据的权限类型。包括:SEARCH(检索)和 DOWNLOAD (下载) 权限。
entityType EntityType 实体类型。包括:DEPARTMENT(部门)、USER(用户)、 ROLE(角色)、GROUP(用户组)、IPORTALGROUP(群组)。
例如:"entityType": "USER",表示授权给指定用户。
entityName String 实体 Name。对应的 DEPARTMENT(部门)、USER(用户)、 ROLE(角色)、GROUP(用户组)、IPORTALGROUP(群组)的名称。
aliasName String 实体的别名,比如 entityType 为 USER 时,别名表示昵称。
entityId Integer 实体的 id。用于群组/部门的授权。

响应结构

返回的资源表述结构如下:

字段 类型 说明
succeed boolean 批量更新数据的共享设置是否成功。
error Httperror 出错信息,如果批量更新数据的共享设置成功,则没有本字段。

响应示例

数据的共享方式有五种,分别是私有、公开、指定部门、指定群组和指定用户。上传的数据文件默认的权限信息为私有,即只允许数据上传者和管理员检索、下载数据。下面分别举例说明(请确保数据文件的上传者或管理员处于登录状态):

1.私有

对 datasShareSetting 资源:http://localhost:8190/iportal/web/mycontent/datas/sharesetting.rjson 执行 PUT 请求,批量更新数据的权限信息为私有,即允许数据文件上传者和管理员可以检索、下载数据文件:

{

    "ids": [

        "1",

        "2"

    ],

    "entities": []

}

则返回的 rjson 格式的资源表述结构如下:

{"succeed": true}

2. 公开

对 datasShareSetting 资源:http://localhost:8190/iportal/web/mycontent/datas/sharesetting.rjson 执行 PUT 请求,批量更新数据的权限信息为公开,允许所有用户(包含匿名用户)可下载数据文件:

{

    "ids": [

        "1",

        "2"

    ],

    "entities": [

        {

            "entityType": "USER",

            "entityName": "GUEST",

            "dataPermissionType": "DOWNLOAD"

        }

    ]

}

则返回的 rjson 格式的资源表述结构如下:

{"succeed": true}

3. 指定部门

对 datasShareSetting 资源:http://localhost:8190/iportal/web/mycontent/datas/sharesetting.rjson 执行 PUT 请求,批量更新数据的权限信息为指定部门,即当前用户所在部门,本部门内的成员都可以下载数据文件:

{

    "ids": [

        "1",

        "2"

    ],

    "entities": [

        {

            "entityId": 2,

            "entityType": "DEPARTMENT",

            "dataPermissionType": "DOWNLOAD"

        }

    ]

}

则返回的 rjson 格式的资源表述结构如下:

{"succeed": true}

4. 指定群组

对 datasShareSetting 资源:http://localhost:8190/iportal/web/mycontent/datas/sharesetting.rjson 执行 PUT 请求,批量更新数据的权限信息为指定群组,指定群组 Id 为1的群组,该群组内的成员都可以下载数据文件:

{

    "ids": [

        "1",

        "2"

    ],

    "entities": [

        {

            "entityId": 1,

            "entityType": "IPORTALGROUP",

            "dataPermissionType": "DOWNLOAD"

        }

    ]

}

则返回的 rjson 格式的资源表述结构如下:

{"succeed": true}

3. 指定用户

对 datasShareSetting 资源:http://localhost:8190/iportal/web/mycontent/datas/sharesetting.rjson 执行 PUT 请求,批量更新数据的权限信息为指定用户 zhaoyuan 和 zhaoyuan2 可下载数据文件:

{

    "ids": [

        "1",

        "2"

    ],

    "entities": [

        {

            "entityType": "USER",

            "entityName": "zhaoyuan",

            "dataPermissionType": "DOWNLOAD"

        },

        {

            "entityType": "USER",

            "entityName": "zhaoyuan2",

            "dataPermissionType": "DOWNLOAD"

        }

    ]

}

则返回的 rjson 格式的资源表述结构如下:

{"succeed": true}

请参见