role.get

描述

integer/array role.get(object parameters)

该方法允许根据给定参数检索角色.

该方法适用于所有类型的用户. 调用该方法的权限可以在用户角色设置中撤销. 更多信息请参阅User roles.

参数

(object) 定义期望输出的参数.

该方法支持以下参数.

参数 数据类型 描述
roleids ID/array 仅返回具有指定ID的角色.
selectRules query 返回包含角色规则的rules属性.
selectUsers query 返回包含角色分配用户的users属性.

关于基于用户类型的限制,请参阅user.get.
sortfield string/array 按指定属性排序结果.

可能的值: roleid, name.
countOutput boolean 这些参数在通用get方法参数中有描述.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 返回以下两种情况之一:

  • 一个包含array的objects数组;
  • 检索到的objects数量,如果使用了countOutput参数。

示例

获取角色数据

获取"超级管理员角色"的角色数据及其访问规则

执行请求:

{
    "jsonrpc": "2.0",
    "method": "role.get",
    "params": {
        "output": "extend",
        "selectRules": "extend",
        "roleids": "3"
    },
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "roleid": "3",
            "name": "Super admin role",
            "type": "3",
            "readonly": "1",
            "rules": {
                "ui": [
                    {
                        "name": "monitoring.dashboard",
                        "status": "1"
                    },
                    {
                        "name": "monitoring.problems",
                        "status": "1"
                    },
                    {
                        "name": "monitoring.hosts",
                        "status": "1"
                    },
                    {
                        "name": "monitoring.latest_data",
                        "status": "1"
                    },
                    {
                        "name": "monitoring.maps",
                        "status": "1"
                    },
                    {
                        "name": "services.services",
                        "status": "1"
                    },
                    {
                        "name": "services.sla_report",
                        "status": "1"
                    },
                    {
                        "name": "inventory.overview",
                        "status": "1"
                    },
                    {
                        "name": "inventory.hosts",
                        "status": "1"
                    },
                    {
                        "name": "reports.availability_report",
                        "status": "1"
                    },
                    {
                        "name": "reports.top_triggers",
                        "status": "1"
                    },
                    {
                        "name": "monitoring.discovery",
                        "status": "1"
                    },
                    {
                        "name": "services.sla",
                        "status": "1"
                    },
                    {
                        "name": "reports.scheduled_reports",
                        "status": "1"
                    },
                    {
                        "name": "reports.notifications",
                        "status": "1"
                    },
                    {
                        "name": "configuration.template_groups",
                        "status": "1"
                    },
                    {
                        "name": "configuration.host_groups",
                        "status": "1"
                    },
                    {
                        "name": "configuration.templates",
                        "status": "1"
                    },
                    {
                        "name": "configuration.hosts",
                        "status": "1"
                    },
                    {
                        "name": "configuration.maintenance",
                        "status": "1"
                    },
                    {
                        "name": "configuration.discovery",
                        "status": "1"
                    },
                    {
                        "name": "configuration.trigger_actions",
                        "status": "1"
                    },
                    {
                        "name": "configuration.service_actions",
                        "status": "1"
                    },
                    {
                        "name": "configuration.discovery_actions",
                        "status": "1"
                    },
                    {
                        "name": "configuration.autoregistration_actions",
                        "status": "1"
                    },
                    {
                        "name": "configuration.internal_actions",
                        "status": "1"
                    },
                    {
                        "name": "reports.system_info",
                        "status": "1"
                    },
                    {
                        "name": "reports.audit",
                        "status": "1"
                    },
                    {
                        "name": "reports.action_log",
                        "status": "1"
                    },
                    {
                        "name": "configuration.event_correlation",
                        "status": "1"
                    },
                    {
                        "name": "administration.media_types",
                        "status": "1"
                    },
                    {
                        "name": "administration.scripts",
                        "status": "1"
                    },
                    {
                        "name": "administration.user_groups",
                        "status": "1"
                    },
                    {
                        "name": "administration.user_roles",
                        "status": "1"
                    },
                    {
                        "name": "administration.users",
                        "status": "1"
                    },
                    {
                        "name": "administration.api_tokens",
                        "status": "1"
                    },
                    {
                        "name": "administration.authentication",
                        "status": "1"
                    },
                    {
                        "name": "administration.general",
                        "status": "1"
                    },
                    {
                        "name": "administration.audit_log",
                        "status": "1"
                    },
                    {
                        "name": "administration.housekeeping",
                        "status": "1"
                    },
                    {
                        "name": "administration.proxies",
                        "status": "1"
                    },
                    {
                        "name": "administration.macros",
                        "status": "1"
                    },
                    {
                        "name": "administration.queue",
                        "status": "1"
                    }
                ],
                "ui.default_access": "1",
                "services.read.mode": "1",
                "services.read.list": [],
                "services.read.tag": {
                    "tag": "",
                    "value": ""
                },
                "services.write.mode": "1",
                "services.write.list": [],
                "services.write.tag": {
                    "tag": "",
                    "value": ""
                },
                "modules": [],
                "modules.default_access": "1",
                "api.access": "1",
                "api.mode": "0",
                "api": [],
                "actions": [
                    {
                        "name": "edit_dashboards",
                        "status": "1"
                    },
                    {
                        "name": "edit_maps",
                        "status": "1"
                    },
                    {
                        "name": "acknowledge_problems",
                        "status": "1"
                    },
                    {
                        "name": "suppress_problems",
                        "status": "1"
                    },
                    {
                        "name": "close_problems",
                        "status": "1"
                    },
                    {
                        "name": "change_severity",
                        "status": "1"
                    },
                    {
                        "name": "add_problem_comments",
                        "status": "1"
                    },
                    {
                        "name": "execute_scripts",
                        "status": "1"
                    },
                    {
                        "name": "manage_api_tokens",
                        "status": "1"
                    },
                    {
                        "name": "edit_maintenance",
                        "status": "1"
                    },
                    {
                        "name": "manage_scheduled_reports",
                        "status": "1"
                    },
                    {
                        "name": "manage_sla",
                        "status": "1"
                    },
                    {
                        "name": "invoke_execute_now",
                        "status": "1"
                    },
                    {
                        "name": "change_problem_ranking",
                        "status": "1"
                    },
                    {
                        "name": "edit_own_media",
                        "status": "1"
                    },
                    {
                        "name": "edit_user_media",
                        "status": "1"
                    }
                ],
                "actions.default_access": "1"
            }
        }
    ],
    "id": 1
}

另请参阅

来源

CRole::get() 位于 ui/include/classes/api/services/CRole.php 文件中。