<security_uri>/roles[.<format>]
roles 资源为角色管理资源,通过该资源您可以获取当前 GIS 系统中的角色列表及其配置信息,可以添加新角色和批量删除已创建角色。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/manager/security/roles.rjson
获取当前 GIS 系统中的角色列表及其配置信息。
对 roles 资源执行 GET 请求,返回的是一个角色列表,其中单个角色的表述结构如下:
字段 | 类型 | 说明 |
description | String | 角色描述。 |
name | String | 角色名称。 |
permissions | RolePermissions | 角色拥有的权限,包括服务访问权限和服务管理权限两种。当角色类型为用户时,可以修改当前角色授权访问的服务或禁止访问的服务;当角色类型为服务管理员时,不仅能进行服务访问授权,还能修改当前角色可管理的服务实例列表。 |
userGroups | String[] | 拥有该角色的用户组。 |
users | String[] | 拥有该角色的用户。 |
对 roles 资源执行 GET 请求(http://localhost:8090/iserver/manager/security/roles.rjson),返回的 rjson 格式响应结果如下:
添加新角色。
发送请求时,需要在请求体中包含如下参数:
名称 | 类型 | 含义 |
name | String | 【必选参数】
角色名称。 |
description | String | 角色描述。 |
permissions | RolePermissions | 角色拥有的权限,包括服务访问权限和服务管理权限两种。当角色类型为用户时,可以修改当前角色授权访问的服务或禁止访问的服务;当角色类型为服务管理员时,不仅能进行服务访问授权,还能修改当前角色可管理的服务实例列表。 |
users | String[] | 拥有该角色的用户。 |
userGroups | String[] | 拥有该角色的用户组。 |
执行 POST 请求后,返回的资源表述结构如下:
字段 | 类型 | 说明 |
newResourceID | String | 新角色的名称。 |
newResourceLocation | String | 新角色的资源地址。 |
postResultType | String | 值为 CreateChild 。 |
succeed | boolean | 是否成功添加新角色。 |
对 roles 资源 http://localhost:8090/iserver/manager/security/roles.rjson 执行 POST 请求,可以添加新角色,发送的请求体如下:
{
"name": "ROLE1",
"description": "创建的第一个角色",
"permissions": {
"publishEnabled": false
},
"users": [
"guest1"
],
"userGroups": []
}
则返回的 rjson 格式响应结果如下:
{
"newResourceID": "ROLE1",
"newResourceLocation": "http://localhost:8090/iserver/manager/security/roles/ROLE1.rjson",
"postResultType": "CreateChild",
"succeed": true
}
批量删除已创建角色。
发送请求时,请求体为角色名称构成的 String 类型一维数组。
执行 PUT 请求后,返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed |
boolean | 是否成功删除角色。 |
对 roles 资源 http://localhost:8090/iserver/manager/security/roles.rjson 执行 PUT 请求,可以批量删除已创建角色,发送的请求体如下:
[
"ROLE1"
]
则返回的 rjson 格式响应结果如下:
{
"succeed": true
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 roles 资源是否存在,或者客户端是否有权限访问 roles 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 roles 资源是否支持<format>格式的表述。