строка/объект user.login(объект параметры)
Этот метод позволяет входить в API и генерировать токен аутентификации.
При использовании этого метода вам также необходимо выполнять user.logout для предотвращения создания большого количество записей открытых сессий.
Этот метод доступен не прошедшим аутентификацию пользователям и его необходимо вызывать без параметра auth
в JSON-RPC запросе. Начиная с Zabbix 2.4 этот метод вернет ошибку, если параметр auth
задан.
(объект)
Параметры, которые содержат имя пользователя и пароль.
Этот метод принимает следующие параметры.
Параметр | Тип | Описание |
---|---|---|
password (требуется) |
строка | Пароль пользователя. Не используется при HTTP аутентификации. |
user (требуется) |
строка | Имя пользователя. |
userData | флаг | Возврат информации о прошедшем аутентификацию пользователе. |
При использовании HTTP аутентификации, имя пользователя в API запросе должно совпадать с именем пользователя в заголовке Authorization
. Пароль не проверяется и его можно не указывать.
(строка/объект)
Если используется параметр userData
, возвращает объект, который содержит информацию о прошедшем аутентификацию пользователе.
В дополнение к стандартным свойствам пользователя, возвращается следующая информация:
Свойство | Тип | Описание |
---|---|---|
debug_mode | логическое | Активирован ли пользователю режим отладки. |
gui_access | целое число | Метод аутентификации пользователя в веб-интерфейсе. Обратитесь к свойству gui_access в объекте группы пользователей для получения списка возможных значений. |
node | объект | Локальная нода пользователя. Этот объект имеет следующие свойства: name - (строка) Имя ноды;nodeid - (строка) ID ноды. |
sessionid | строка | Токен аутентификации, который требуется использовать в последующих API запросах. |
userip | строка | IP адрес пользователя. |
Если пользователь успешно прошел аутентификацию после одной или нескольких неудачных попыток, этот метод вернет текущие значения свойств attempt_clock
, attempt_failed
и attempt_ip
и затем сбросит их.
Если параметр userData
не используется, этот метод возвращает лишь токен аутентификации.
Сгенерированный токен аутентификации необходимо запомнить и использовать в параметре auth
в последующих JSON-RPC запросах. Это также требуется делать при использовании HTTP аутентификации.
Аутентификация пользователя.
Запрос:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1
}
Ответ:
Аутентификация и получение дополнительной информации о пользователе.
Запрос:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix",
"userData": true
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"userid": "1",
"alias": "Admin",
"name": "Zabbix",
"surname": "Administrator",
"url": "",
"autologin": "1",
"autologout": "0",
"lang": "ru_RU",
"refresh": "0",
"type": "3",
"theme": "default",
"attempt_failed": "0",
"attempt_ip": "127.0.0.1",
"attempt_clock": "1355919038",
"rows_per_page": "50",
"debug_mode": true,
"userip": "127.0.0.1",
"node": {
"name": "- unknown -",
"nodeid": null
},
"sessionid": "5b56eee8be445e98f0bd42b435736e42",
"gui_access": "0"
},
"id": 1
}
CUser::login() в frontends/php/api/classes/CUser.php.