user.get

描述

integer/array user.get(object parameters)

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

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

参数

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

该方法支持以下参数。

自Zabbix 6.0.38起,当请求用户媒体、权限或角色信息时,AdminUser类型用户只能获取其自身用户的数据。 示例请参见Admin身份检索用户

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

为每个用户添加以下属性:
gui_access - (integer) 用户的前端认证方法。参考用户组gui_access属性获取可能值列表。
debug_mode - (integer) 表示是否为用户启用了调试。可能值:0 - 调试禁用,1 - 调试启用。
users_status - (integer) 表示用户是否被禁用。可能值:0 - 用户启用,1 - 用户禁用。
selectMedias query 媒介属性中返回用户使用的媒体。
selectMediatypes query mediatypes属性中返回用户使用的媒体类型。
selectUsrgrps query usrgrps属性中返回用户所属的用户组。

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

接受一个object,其中键为属性名,值为单个值或用于匹配的array。

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

AdminUser类型用户在请求其用户组中的用户数据时可能的User object属性(自Zabbix 6.0.38起):userid, name, surname, username
output query 要返回的User object属性。

自Zabbix 6.0.38起,AdminUser类型用户只能获取以下属性:
- 对于自身用户:userid, attempt_clock, attempt_failed, attempt_ip, autologin, autologout, lang, name, refresh, roleid, rows_per_page, surname, theme, timezone, url, username
- 对于其用户组中的用户:userid, name, surname, username

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

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

仅支持stringtext 数据类型的属性。

AdminUser类型用户在请求其用户组中的用户数据时可能的User object属性(自Zabbix 6.0.38起):name, surname, username
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) 返回以下两种结果之一:

  • 一个包含objects的array;
  • 若使用了countOutput参数,则返回检索到的objects数量。

示例

检索用户

获取所有已配置的用户。

请求:

{
           "jsonrpc": "2.0",
           "method": "user.get",
           "params": {
               "output": "extend"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
               },
               {
                   "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"
               },
               {
                   "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"
               }
           ],
           "id": 1
       }

管理员身份检索用户

管理员类型用户身份,获取您自身用户的详细数据以及所属用户组中其他用户的有限数据。

请求:

{
           "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"
                       }
                   ]
               },
               {
                   "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",
                   "gui_access": "0",
                   "debug_mode": "0",
                   "users_status": "0",
                   "usrgrps": [
                       {
                           "usrgrpid": "7",
                           "name": "Zabbix administrators",
                           "gui_access": "0",
                           "users_status": "0",
                           "debug_mode": "0"
                       }
                   ],
                   "medias": [
                       {
                           "mediaid": "2",
                           "userid": "3",
                           "mediatypeid": "1",
                           "sendto": [
                               "[email protected]"
                           ],
                           "active": "0",
                           "severity": "63",
                           "period": "1-7,00:00-24:00"
                       }
                   ],
                   "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"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

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

来源

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