<roles_uri>/{roleName}[.<format>]
role 资源为具体的角色资源,通过 role 资源您不仅可以获取、修改角色的配置信息,还可以直接删除该角色。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/manager/security/roles/{roleName}.rjson
获取角色的配置信息。
对 role 资源执行 GET 请求,返回指定角色的配置信息,由以下几个字段组成:
字段 | 类型 | 说明 |
description | String | 角色描述信息。 |
name | String | 角色名称。 |
permissions | RolePermissions | 角色拥有的权限,包括服务访问权限和服务管理权限两种。当角色类型为用户时,可以修改当前角色授权访问的服务或禁止访问的服务;当角色类型为服务管理员时,不仅能进行服务访问授权,还能修改当前角色可管理的服务实例列表。 |
userGroups | String[] | 拥有该角色的用户组。 |
users | String[] | 拥有该角色的用户。 |
对 role 资源 http://localhost:8090/iserver/manager/security/roles/ROLE1.rjson 执行 GET 请求,返回 rjson 格式的资源表述如下:
{
"description": "创建的第一个角色",
"name": "ROLE1",
"permissions": {
"componentManagerPermissions": {
"denied": [],
"permitted": []
},
"instanceAccessPermissions": {
"denied": [],
"permitted": []
},
"publishEnabled": false
},
"userGroups": [],
"users": ["guest1"]
}
修改角色的配置信息。
发送请求时,需要在请求体中包含如下参数。其中,角色名不可更改,其他参数都为可选参数。
名称 | 类型 | 含义 |
role | Role | 角色名称。 |
description | String | 角色描述信息。 |
permissions | RolePermissions | 角色拥有的权限,包括服务访问权限和服务管理权限两种。当角色类型为用户时,可以修改当前角色授权访问的服务或禁止访问的服务;当角色类型为服务管理员时,不仅能进行服务访问授权,还能修改当前角色可管理的服务实例列表。 |
users | String[] | 拥有该角色的用户。 |
userGroups | String[] | 拥有该角色的用户组。 |
执行 PUT 请求后,返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed |
boolean | 是否成功修改指定角色。 |
对 role 资源 http://localhost:8090/iserver/manager/security/roles/ROLE1.rjson 执行 PUT 请求,可以修改与该角色相关的配置信息。修改角色权限,如设置拥有该角色的用户(guest1)禁止访问 data-jingjin/rest、data-world/rest 和 map-china400/rest 三个服务实例时,发送的请求体如下:
{
"name": "ROLE1",
"description": "创建的第一个角色",
"permissions": {
"componentManagerPermissions": {
"permitted": [],
"denied": []
},
"publishEnabled": false,
"instanceAccessPermissions": {
"permitted": [],
"denied": [
"data-jingjin/rest",
"data-world/rest",
"map-china400/rest"
]
}
},
"users": [
"guest1"
],
"userGroups": []
}
返回的 rjson 格式响应结果如下:
{
"succeed": true
}
删除角色。
执行 DELETE 请求后,返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed |
boolean | 是否成功删除角色。 |
对 role 资源 http://localhost:8090/iserver/manager/security/roles/ROLE1.rjson 执行 DELETE 请求,可以删除由角色名指定的角色,返回的 rjson 格式响应结果如下:
{
"succeed": true
}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 role 资源是否存在,或者客户端是否有权限访问 role 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 role 资源是否支持<format>格式的表述。