user.login

描述

string/object user.login(object parameters)

此方法允许登录到API并generate一个认证令牌。

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

此方法仅适用于未认证用户, 且必须在JSON-RPC请求中不包含auth参数的情况下调用。

参数

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

该方法接受以下参数。

参数 数据类型 描述
password
(required)
string 用户密码。
username
(required)
string 用户名。
userData flag 返回已认证用户的信息。
user
(deprecated)
string 此参数已弃用,请改用username
用户名。

返回值

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

用户外, 还返回以下信息:

属性 数据类型 描述
debug_mode integer 用户是否启用了调试模式。

参考用户组debug_mode属性获取可能值列表。
gui_access integer 用户前端认证方式。

参考用户组gui_access属性获取可能值列表。
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",
        "type": 3,
        "userip": "127.0.0.1",
        "debug_mode": 0,
        "gui_access": 0,
        "sessionid": "5b56eee8be445e98f0bd42b435736e42"
    },
    "id": 1
}

另请参阅

来源

CUser::login() 位于 ui/include/classes/api/services/CUser.php 文件中。