<map_uri>/sharesetting[.<format>]
地图的共享设置。通过发送 PUT 请求,可以更新指定地图的权限信息。地图创建者和管理员可以更新指定地图的权限信息。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。
http://supermapiportal:8190/iportal/web/maps/{id}/sharesetting.rjson
获取指定地图的共享设置信息。
对 mapShareSetting 资源执行 GET 请求,返回的资源表述结构如下:
字段 | 类型 | 说明 |
entityName | String | 实体 Name。对应的 USER(用户), ROLE(角色),GROUP(用户组)、IPORTALGROUP(群组)的名称。 |
entityType | EntityType | 实体类型。包括 USER(用户), ROLE(角色),GROUP(用户组)、IPORTALGROUP(群组)。 |
permissionType | PermissionType | 权限类型。包括 READ(查看), READWRITE(查看/编辑),DELETE(查看/编辑/删除)。 |
entityId | Integer | 实体的 id。用于群组的授权。 |
aliasName | String | 实体的别名,比如 entityType 为 USER 时,别名表示昵称。 |
对 mapShareSetting 资源:http://supermapiportal:8190/iportal/web/maps/1/sharesetting.rjson 执行 GET 请求,返回的 rjson 格式的响应结果如下:
[
{
"aliasName": "GUEST",
"entityId": null,
"entityName": "GUEST",
"entityType": "USER",
"permissionType": "READ"
},
{
"aliasName": "admin",
"entityId": null,
"entityName": "admin",
"entityType": "USER",
"permissionType": "DELETE"
}
]
修改指定地图的共享设置信息。
发送请求时,需要在请求体中传递如下参数:
字段 | 类型 | 说明 |
entityName | String | 实体 Name。对应的 USER(用户), ROLE(角色),GROUP(用户组)的名称。 |
entityType | EntityType | 实体类型。包括 USER(用户), ROLE(角色),GROUP(用户组)、IPORTALGROUP(群组)。 |
permissionType | PermissionType | 权限类型。包括 READ(查看), READWRITE(查看/编辑),DELETE(查看/编辑/删除)。 |
entityId | Integer | 实体的 id。用于群组的授权。 |
返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed | boolean | 修改地图的共享设置是否成功。 |
error | Httperror | 出错信息,如果修改地图的共享设置成功,则没有本字段。 |
mapShareSetting 资源对应的更新单个地图的共享方式有五种,分别为私有、公开、指定部门、指定群组和指定用户。其中,公开又包含允许所有用户(包含匿名用户)可查看和允许所有用户(仅限登录用户)可编辑,并且可以同时设置该资源的共享方式为公开、指定部门、指定群组和指定用户,也可以单独设置共享方式,下面就单独设置共享方式分别举例说明(请确保地图创建者或管理员处于登录状态):
1. 私有
修改授权信息为私有,即只允许地图创建者 liyl 可以编辑该地图,对 mapShareSetting 资源:http://supermapiportal:8190/iportal/web/maps/1/sharesetting.rjson 执行 PUT 请求,发送请求体如下:
[
{
"aliasName": "xiaoli",
"entityId": null,
"entityName": "liyl",
"entityType": "USER",
"permissionType": "DELETE"
}
]
返回的 rjson 格式的表述如下:
{ "succeed": true}
2. 公开
修改授权信息为公开,即所有用户(包含匿名用户)可以查看,并且所有用户(仅限登录用户)可以编辑该地图,对 mapShareSetting 资源:http://supermapiportal:8190/iportal/web/maps/1/sharesetting.rjson 执行 PUT 请求,发送请求体如下:
[
{
"entityName": "GUEST",
"entityType": "USER",
"permissionType": "READWRITE"
}
]
返回的 rjson 格式的表述如下:
{ "succeed": true}
3. 指定部门
修改授权信息为指定部门,即该部门内的所有成员可编辑,对 mapShareSetting 资源:http://supermapiportal:8190/iportal/web/maps/1/sharesetting.rjson 执行 PUT 请求,发送请求体如下:
[
{
"entityId": 2,
"entityType": "DEPARTMENT",
"permissionType": "READWRITE"
}
]
返回的 rjson 格式的表述如下:
{ "succeed": true}
4. 指定群组
修改授权信息为指定群组 Id 为2的群组成员可编辑,对 mapShareSetting 资源:http://supermapiportal:8190/iportal/web/maps/1/sharesetting.rjson 执行 PUT 请求,发送请求体如下:
[
{
"entityId": 2,
"entityType": "IPORTALGROUP",
"permissionType": "READWRITE"
}
]
返回的 rjson 格式的表述如下:
{ "succeed": true}
5. 指定用户
修改授权信息为指定用户 wanghl 可以编辑该地图,对 mapShareSetting 资源:http://supermapiportal:8190/iportal/web/maps/1/sharesetting.rjson 执行 PUT 请求,发送请求体如下:
[
{
"entityName": "wanghl",
"entityType": "USER",
"permissionType": "READWRITE"
}
]
返回的 rjson 格式的表述如下:
{ "succeed": true}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 mapShareSetting 资源是否存在,或者客户端是否有权限访问 mapShareSetting 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 mapShareSetting 资源是否支持<format>格式的表述。