user.login

描述

string/object user.login(object parameters)

此方法允许用户登录到API并generate身份验证令牌。

使用此方法时,还需要执行user.logout,以防止生成大量打开的会话记录。

此方法仅适用于不属于任何启用了多因素身份验证的用户组的身份未验证用户。 调用此方法时,JSON-RPC请求中必须不包含auth参数。

参数

(object) 包含用户名和密码的参数。

该方法接受以下参数。

参数 数据类型 描述
password string 用户密码。

参数行为:
- 必填
username string 用户名。

参数行为:
- 必填
userData flag 返回关于已认证用户的信息。

返回值

(string/object) 如果使用了 userData 参数,则返回一个object,其中包含有关已认证用户的信息。

除了包含在用户中的信息外,还返回以下信息:

属性 数据类型 描述
auth_type integer 用户的默认认证方式。

可能值的列表,请参阅认证-object中的authentication_type属性。
debug_mode integer 是否为用户启用了调试模式。

可能值的列表,请参阅用户组中的debug_mode属性。
deprovisioned boolean 用户是否属于一个配置
gui_access string 用户前端认证方式。

可能值的列表,请参阅用户组中的gui_access属性。
mfaid integer 用户登录时使用的MFA method的ID。

如果全局或用户所属的所有用户组禁用了MFA,则返回"0"。
secret string 随机32字符string,在用户登录时生成。
sessionid string 认证令牌,后续的API请求中必须使用该令牌。
type integer 用户类型。

可能值的列表,请参阅角色中的type属性。
userip string 用户的IP地址。

如果用户在一次或多次失败尝试后成功认证,该方法将返回当前的attempt_clockattempt_failedattempt_ip属性值,然后重置它们。

如果不使用 userData 参数,该方法将返回一个认证令牌。

生成的认证令牌应被记住,并在后续JSON-RPC请求的auth参数中使用。在使用HTTP认证时也是必需的。

示例

用户认证

验证用户身份。

执行请求:

{
           "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",
               "userdirectoryid": "0",
               "type": 3,
               "userip": "127.0.0.1",
               "debug_mode": 0,
               "gui_access": "0",
               "mfaid": "1",
               "deprovisioned": false,
               "auth_type": 0,
               "sessionid": "5b56eee8be445e98f0bd42b435736e42",
               "secret": "cd0ba923319741c6586f3d866423a8f4"
           },
           "id": 1
       }

另请参阅

来源

CUser::login()ui/include/classes/api/services/CUser.php 中。