user.get

描述

integer/array user.get(object parameters)

该方法允许根据给定的参数检索用户。

此方法适用于任何类型的用户。调用该方法的权限可以在用户角色设置中撤销。更多信息请参见 User roles

参数

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

该方法支持以下参数。

从 Zabbix 7.0.9 开始,在请求用户媒介、权限或角色信息时,AdminUser 类型的用户只能检索有关其自身用户的数据。 有关示例,请参见 Admin 身份检索用户

参数 数据类型 描述
mediaids ID/array 仅返回使用指定媒介的用户。
mediatypeids ID/array 仅返回使用指定媒介类型的用户。
userids ID/array 仅返回具有指定 ID 的用户。
usrgrpids ID/array 仅返回属于指定用户组的用户。
getAccess flag 添加有关用户权限的额外信息。

为每个用户添加以下属性:
gui_access - (integer) 用户的前端认证方法。可能值的列表,请参见 用户组gui_access 属性。
debug_mode - (integer) 指示是否为该用户启用了调试。可能值:0 - 调试禁用,1 - 调试启用。
users_status - (integer) 指示用户是否被禁用。可能值:0 - 用户启用,1 - 用户禁用。
selectMedias query [medias](/manual/api/reference/user/object#media) 属性中返回用户使用的媒介。
selectMediatypes query [mediatypes](/manual/api/reference/mediatype/object) 属性中返回用户使用的媒介类型。

有关基于用户类型的限制,请参见 mediatype.get
selectUsrgrps query [usrgrps](/manual/api/reference/usergroup/object) 属性中返回用户所属的用户组。

有关基于用户类型的限制,请参见 usergroup.get
selectRole query [role](/manual/api/reference/role/object#role) 属性中返回用户角色。
filter object 仅返回与指定过滤器完全匹配的结果。

接受一个 object,其中键是属性名,值是单个值或一个 array 值列表进行匹配。

不支持 text 的属性 数据类型

当请求其用户组中的用户数据时(自 Zabbix 7.0.9 起),AdminUser 类型用户的可能 User object 属性:useridnamesurnameusername
output query 要返回的 User object 属性。

自 Zabbix 7.0.9 起,AdminUser 类型用户只能检索以下属性:
- 对于其自身用户:useridattempt_clockattempt_failedattempt_ipautologinautologoutlangnameprovisionedrefreshroleidrows_per_pagesurnamethemetimezoneurlusername
- 对于其用户组中的用户:useridnamesurnameusername

默认值:extend
search object 返回与指定模式匹配的结果(不区分大小写)。

接受一个 object,其中键是属性名,值是用于搜索的字符串。如果没有提供其他选项,这将执行一个 LIKE "%…%" 搜索。

仅支持 stringtext 的属性 数据类型

当请求其用户组中的用户数据时(自 Zabbix 7.0.9 起),AdminUser 类型用户的可能 User object 属性:namesurnameusername
sortfield string/array 按照指定属性对结果进行排序。

可能值:useridusername
countOutput boolean 这些参数在 通用get方法参数 中有描述。
editable boolean
excludeSearch boolean
limit integer
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 返回以下之一:

  • array 的 objects;
  • 如果使用了 countOutput 参数,则为检索到的 objects 的数量。

示例

检索用户

检索所有已配置的用户。

执行请求:

{
    "jsonrpc": "2.0",
    "method": "user.get",
    "params": {
        "output": "extend"
    },
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "userid": "1",
            "username": "Admin",
            "name": "Zabbix",
            "surname": "Administrator",
            "url": "",
            "autologin": "1",
            "autologout": "0",
            "lang": "en_US",
            "refresh": "0s",
            "theme": "default",
            "attempt_failed": "0",
            "attempt_ip": "",
            "attempt_clock": "0",
            "rows_per_page": "50",
            "timezone": "default",
            "roleid": "3",
            "userdirectoryid": "0",
            "ts_provisioned": "0"
        },
        {
            "userid": "2",
            "username": "guest",
            "name": "",
            "surname": "",
            "url": "",
            "autologin": "0",
            "autologout": "15m",
            "lang": "default",
            "refresh": "30s",
            "theme": "default",
            "attempt_failed": "0",
            "attempt_ip": "",
            "attempt_clock": "0",
            "rows_per_page": "50",
            "timezone": "default",
            "roleid": "4",
            "userdirectoryid": "0",
            "ts_provisioned": "0"
        },
        {
            "userid": "3",
            "username": "user",
            "name": "Zabbix",
            "surname": "User",
            "url": "",
            "autologin": "0",
            "autologout": "0",
            "lang": "ru_RU",
            "refresh": "15s",
            "theme": "dark-theme",
            "attempt_failed": "0",
            "attempt_ip": "",
            "attempt_clock": "0",
            "rows_per_page": "100",
            "timezone": "default",
            "roleid": "1",
            "userdirectoryid": "0",
            "ts_provisioned": "0"
        }
    ],
    "id": 1
}

管理员身份检索用户

作为 Admin 类型的用户,检索有关您自己的用户的详细数据以及您所在用户组中用户的有限数据。

执行请求:

{
    "jsonrpc": "2.0",
    "method": "user.get",
    "params": {
        "output": "extend",
        "getAccess": true,
        "selectMedias": "extend",
        "selectMediatypes": "extend",
        "selectUsrgrps": "extend",
        "selectRole": "extend"
    },
    "id": 1
}

响应:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "userid": "1",
            "username": "Admin",
            "name": "Zabbix",
            "surname": "Administrator",
            "usrgrps": [
                {
                    "usrgrpid": "7",
                    "name": "Zabbix administrators",
                    "gui_access": "0",
                    "users_status": "0",
                    "debug_mode": "0",
                    "mfa_status": "0"
                }
            ]
        },
        {
            "userid": "3",
            "username": "database-admin",
            "name": "John",
            "surname": "Doe",
            "url": "",
            "autologin": "0",
            "autologout": "0",
            "lang": "default",
            "refresh": "30s",
            "theme": "default",
            "attempt_failed": "0",
            "attempt_ip": "",
            "attempt_clock": "0",
            "rows_per_page": "50",
            "timezone": "default",
            "roleid": "2",
            "provisioned": "0",
            "gui_access": "0",
            "debug_mode": "0",
            "users_status": "0",
            "usrgrps": [
                {
                    "usrgrpid": "7",
                    "name": "Zabbix administrators",
                    "gui_access": "0",
                    "users_status": "0",
                    "debug_mode": "0",
                    "mfa_status": "0"
                }
            ],
            "medias": [
                {
                    "mediaid": "2",
                    "mediatypeid": "1",
                    "sendto": [
                        "[email protected]"
                    ],
                    "active": "0",
                    "severity": "63",
                    "period": "1-7,00:00-24:00",
                    "provisioned": 0
                }
            ],
            "mediatypes": [
                {
                    "mediatypeid": "1",
                    "type": "0",
                    "name": "Email",
                    "status": "0",
                    "description": "",
                    "maxattempts": "3"
                }
            ],
            "role": {
                "roleid": "2",
                "name": "Admin role",
                "type": "2",
                "readonly": "0"
            }
        }
    ],
    "id": 1
}

获取用户数据

使用ID为"12"的用户检索数据。

执行请求:

{
    "jsonrpc": "2.0",
    "method": "user.get",
    "params": {
        "output": ["userid", "username"],
        "selectRole": "extend",
        "userids": "12"
    },
    "id": 1
}

响应:

{
  "jsonrpc": "2.0",
  "result": [
      {
          "userid": "12",
          "username": "John",
          "role": {
              "roleid": "5",
              "name": "Operator",
              "type": "1",
              "readonly": "0"
          }
      }
  ],
  "id": 1
}

另请参阅

来源

CUser::get() 在 ui/include/classes/api/services/CUser.php 中。