role


URI

<roles_uri>/{roleName}[.<format>]

支持的方法

GETPUTDELETEHEAD

父资源

roles

介绍

role 资源为具体的角色资源,通过 role 资源您不仅可以获取、修改角色的配置信息,还可以直接删除该角色。

支持的方法:

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

资源层次

HTTP 请求方法

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

http://supermapiserver:8090/iserver/manager/security/roles/{roleName}.rjson

GET 请求

获取角色的配置信息。

响应结构

对 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"]

}

PUT 请求

修改角色的配置信息。

请求参数

发送请求时,需要在请求体中包含如下参数。其中,角色名不可更改,其他参数都为可选参数。

名称 类型 含义
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 请求

删除角色。

响应结构

执行 DELETE  请求后,返回的资源表述结构如下:

字段 类型 说明

succeed

boolean 是否成功删除角色。

响应示例

对 role 资源 http://localhost:8090/iserver/manager/security/roles/ROLE1.rjson 执行 DELETE 请求,可以删除由角色名指定的角色,返回的 rjson 格式响应结果如下:

{

    "succeed": true

}

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 role 资源是否存在,或者客户端是否有权限访问 role 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 role 资源是否支持<format>格式的表述。

请参见