登录

描述

string/object user.login(object parameters)

此方法允许登录到 API 并生成身份验证令牌。

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

此方法仅适用于未经过身份验证,且不属于任何启用了多因素身份验证的 用户组 的用户。

参数

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

该方法接受以下参数。

参数 Type 描述
password string 用户密码。

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

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

返回值

(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_clockattempt_failedattempt_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.