integer/array user.get(object parameters)
该方法允许根据给定参数检索用户。
此方法可供任何类型的用户使用。调用该方法的权限可以在用户角色设置中撤销。更多信息请参阅User roles。
(object)
定义所需输出的参数。
该方法支持以下参数。
自Zabbix 6.0.38起,当请求用户媒体、权限或角色信息时,Admin和User类型用户只能获取其自身用户的数据。 示例请参见以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 数据类型的属性。Admin和User类型用户在请求其用户组中的用户数据时可能的User object属性(自Zabbix 6.0.38起): userid , name , surname , username 。 |
output | query | 要返回的User object属性。 自Zabbix 6.0.38起,Admin和User类型用户只能获取以下属性: - 对于自身用户: 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 "%…%" 搜索。仅支持 string 和text 数据类型的属性。Admin和User类型用户在请求其用户组中的用户数据时可能的User object属性(自Zabbix 6.0.38起): name , surname , username 。 |
sortfield | string/array | 按给定属性对结果排序。 可能值为: userid 和username 。 |
countOutput | boolean | 这些参数在通用get方法参数中有描述。 |
editable | boolean | |
excludeSearch | boolean | |
limit | integer | |
preservekeys | boolean | |
searchByAny | boolean | |
searchWildcardsEnabled | boolean | |
sortorder | string/array | |
startSearch | boolean |
(integer/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 文件中。