string/object user.login(object parameters)
此方法用于登录到API并生成身份验证令牌.
使用此方法, 你同时需要使用 注销 方法, 防止产生大量未关闭的会话记录.
此方法仅适用于未认证用户,同时在JSON-RPC请求中不能带有auth
参数.
(object)
包含用户名和密码的参数。
该方法接受以下参数。
参数 | 类型 | 描述 |
---|---|---|
password (必填) |
字符串 | 用户密码。 |
username (必填) |
字符串 | 用户名。 |
userData | flag | 返回关于认证用户的信息。 |
user (已废弃) |
字符串 | 此参数已弃用,请改用“username”。 用户名。 |
(string/object)
如果使用了 userData
参数,返回一个对象,其中包含有关经过身份验证的用户的信息。
除了 标准用户属性,还返回以下信息:
属性 | 类型 | 描述 |
---|---|---|
debug_mode | integer | 是否为用户启用了调试模式。 参考 用户组对象 的 debug_mode 属性了解可能的值列表。 |
gui_access | integer | 用户对前端的认证方法。 参考 用户组对象 的 gui_access 属性了解可能的值列表。 |
sessionid | string | 认证令牌,必须在随后的 API 请求中使用。 |
type | integer | 用户类型。 参考 角色对象 的 type 属性了解可能的值列表。 |
userip | string | 用户的 IP 地址。 |
如果用户在一次或多次失败尝试后成功通过身份验证,该方法将返回 attempt_clock
、attempt_failed
和 attempt_ip
属性的当前值,然后重置它们。
如果未使用 userData
参数,该方法返回一个认证令牌。
生成的认证令牌应被记住,并在随后的 JSON-RPC 请求的 auth
参数中使用。在使用 HTTP 认证时也需要。
单用户认证.
请求:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix"
},
"id": 1
}
返回:
认证并返回有关用户的额外信息。
请求:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix",
"userData": true
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"userid": "1",
"username": "Admin",
"name": "Zabbix",
"surname": "Administrator",
"url": "",
"autologin": "1",
"autologout": "0",
"lang": "ru_RU",
"refresh": "0",
"theme": "default",
"attempt_failed": "0",
"attempt_ip": "127.0.0.1",
"attempt_clock": "1355919038",
"rows_per_page": "50",
"timezone": "Europe/Riga",
"roleid": "3",
"type": 3,
"userip": "127.0.0.1",
"debug_mode": 0,
"gui_access": 0,
"sessionid": "5b56eee8be445e98f0bd42b435736e42"
},
"id": 1
}
CUser::login() in ui/include/classes/api/services/CUser.php.