获取

描述

integer/array user.get(object parameters)

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

此方法对任何类型的用户都可用。调用该方法的权限可以在用户角色设置中撤销。有关更多信息,请参见 用户角色。

参数

(object) 定义所需输出的参数。

该方法支持以下参数。

请求用户媒介、权限或角色信息时,Admin 和 User 类型的用户只能检索其自身用户的数据。 示例请参见以 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 属性中返回用户使用的媒介。
selectMediatypes query 在 mediatypes 属性中返回用户使用的媒介类型。

有关基于用户类型的限制,请参见 mediatype.get。
selectUsrgrps query 在 usrgrps 属性中返回该用户所属的用户组。

有关基于用户类型的限制,请参见 usergroup.get。
selectRole query 在 role 属性中返回用户角色。
filter object 仅返回与给定过滤条件完全匹配的结果。

接受一个对象,其中键为属性名称,值为单个值或用于匹配的值数组。

不支持 text 数据类型 的属性。

当 Admin 和 User 类型的用户请求其用户组内用户的数据时,可用的 用户对象 属性为:userid、name、surname、username。
output query 要返回的 用户对象 属性。

Admin 和 User 类型的用户只能检索以下属性:
- 对于其自身用户:userid、attempt_clock、attempt_failed、attempt_ip、autologin、autologout、lang、name、provisioned、refresh、roleid、rows_per_page、surname、theme、timezone、url、username。
- 对于其用户组中的用户:userid、name、surname、username。

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

接受一个对象,其中键为属性名称,值为要搜索的字符串。如果未提供其他选项,将执行 LIKE "%…%" 搜索。

仅支持 string 和 text 数据类型 的属性。

当 Admin 和 User 类型的用户请求其用户组内用户的数据时,可用的 用户对象 属性为:name、surname、username。
sortfield string/array 按给定属性对结果进行排序。

可能的值:userid、username。
countOutput boolean 这些参数在参考说明中进行了描述。
editable boolean
excludeSearch boolean
limit integer
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 返回:

  • 一个对象数组;
  • 检索对象的计数(使用 countOutput 参数时)。

示例

获取用户

获取所有已配置的用户。

请求:

{
    "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",
            "default_maintenance_period": "1h",
            "refresh": "30s",
            "theme": "default",
            "attempt_failed": "0",
            "attempt_ip": "",
            "attempt_clock": "0",
            "rows_per_page": "50",
            "timezone": "default",
            "roleid": "3",
            "userdirectoryid": "0",
            "ts_provisioned": "0",
            "provisioned": "0"
        },
        {
            "userid": "2",
            "username": "guest",
            "name": "",
            "surname": "",
            "url": "",
            "autologin": "0",
            "autologout": "15m",
            "lang": "default",
            "default_maintenance_period": "1h",
            "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",
            "provisioned": "0"
        }
    ],
    "id": 1
}

以 Admin 身份检索用户

作为 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",
      "url": "",
      "autologin": "1",
      "autologout": "0",
      "lang": "default",
      "default_maintenance_period": "1h",
      "refresh": "30s",
      "theme": "default",
      "attempt_failed": "0",
      "attempt_ip": "",
      "attempt_clock": "0",
      "rows_per_page": "50",
      "timezone": "default",
      "roleid": "3",
      "userdirectoryid": "0",
      "ts_provisioned": "0",
      "provisioned": "0",
      "gui_access": "1",
      "debug_mode": "0",
      "users_status": "0",
      "usrgrps": [
        {
          "usrgrpid": "7",
          "name": "Zabbix administrators",
          "gui_access": "0",
          "users_status": "0",
          "debug_mode": "0",
          "userdirectoryid": "0",
          "mfa_status": "0",
          "mfaid": "0",
          "proxy_mode": "0",
          "proxy_group_mode": "0"
        },
        {
          "usrgrpid": "13",
          "name": "Internal",
          "gui_access": "1",
          "users_status": "0",
          "debug_mode": "0",
          "userdirectoryid": "0",
          "mfa_status": "0",
          "mfaid": "0",
          "proxy_mode": "0",
          "proxy_group_mode": "0"
        }
      ],
      "medias": [],
      "mediatypes": [],
      "role": {
        "roleid": "3",
        "name": "Super admin role",
        "type": "3",
        "readonly": "1"
      }
    },
    {
      "userid": "2",
      "username": "guest",
      "name": "",
      "surname": "",
      "url": "",
      "autologin": "0",
      "autologout": "15m",
      "lang": "default",
      "default_maintenance_period": "1h",
      "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",
      "provisioned": "0",
      "gui_access": "1",
      "debug_mode": "0",
      "users_status": "1",
      "usrgrps": [
        {
          "usrgrpid": "8",
          "name": "Guests",
          "gui_access": "0",
          "users_status": "0",
          "debug_mode": "0",
          "userdirectoryid": "0",
          "mfa_status": "0",
          "mfaid": "0",
          "proxy_mode": "0",
          "proxy_group_mode": "0"
        },
        {
          "usrgrpid": "9",
          "name": "Disabled",
          "gui_access": "0",
          "users_status": "1",
          "debug_mode": "0",
          "userdirectoryid": "0",
          "mfa_status": "0",
          "mfaid": "0",
          "proxy_mode": "0",
          "proxy_group_mode": "0"
        },
        {
          "usrgrpid": "13",
          "name": "Internal",
          "gui_access": "1",
          "users_status": "0",
          "debug_mode": "0",
          "userdirectoryid": "0",
          "mfa_status": "0",
          "mfaid": "0",
          "proxy_mode": "0",
          "proxy_group_mode": "0"
        }
      ],
      "medias": [],
      "mediatypes": [],
      "role": {
        "roleid": "4",
        "name": "Guest role",
        "type": "1",
        "readonly": "0"
      }
    }
  ],
  "id": 1
}

获取用户数据

获取 ID 为“2”的用户数据。

请求:

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

响应:

{
  "jsonrpc": "2.0",
  "result": [
    {
      "userid": "2",
      "username": "guest",
      "role": {
        "roleid": "4",
        "name": "Guest role",
        "type": "1",
        "readonly": "0"
      }
    }
  ],
  "id": 1
}

另请参阅

来源

CUser::get() in ui/include/classes/api/services/CUser.php.