登录
描述
string/object user.login(object parameters)
此方法允许登录到 API 并生成身份验证令牌。
使用此方法时,还需要执行 user.logout,以防止生成大量未关闭的会话记录。
此方法仅适用于未经过身份验证,且不属于任何启用了多因素身份验证的 用户组 的用户。
参数
(object) 包含用户名和密码的参数。
该方法接受以下参数。
返回值
(string/object) 如果使用了 userData 参数,则返回一个对象,
其中包含有关已认证用户的信息。
除标准用户属性外,还会返回以下信息:
| 属性 | 类型 | 描述 |
|---|---|---|
| auth_type | integer | 用户的默认认证方式。 可能的值列表请参见认证对象的 authentication_type 属性。 |
| debug_mode | integer | 是否为用户启用调试模式。 可能的值列表请参见用户组对象的 debug_mode 属性。 |
| deprovisioned | boolean | 用户是否属于已取消配置用户组。 |
| gui_access | string | 用户访问前端的认证方式。 可能的值列表请参见用户组对象的 gui_access 属性。 |
| mfaid | integer | 用户登录时使用的 MFA 方法 ID。 如果全局禁用了 MFA,或者用户所属的所有用户组都禁用了 MFA,则返回“0”。 |
| secret | string | 随机的 32 个字符字符串。在用户登录时生成。 |
| sessionid | string | 认证令牌,必须在后续 API 请求中使用。 |
| type | integer | 用户类型。 可能的值列表请参见角色对象的 type 属性。 |
| userip | string | 用户的 IP 地址。 |
如果用户在一次或多次认证失败后成功通过认证,
该方法将返回 attempt_clock、attempt_failed 和 attempt_ip
属性的当前值,然后将其重置。
如果未使用 userData 参数,则该方法返回一个用于认证的认证令牌。
示例
单用户认证
单用户认证。
请求:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix"
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": "0424bd59b807674191e7d77572075f33",
"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,
"debug_mode": 0,
"userip": "127.0.0.1",
"gui_access": "0",
"sessionid": "5b56eee8be445e98f0bd42b435736e42"
},
"id": 1
}
参考
来源
CUser::login() in ui/include/classes/api/services/CUser.php.