登录

说明

string/object user.login(object **parameters**)

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

当使用这个方法的时候, 你必须使用 注销方法,防止产生大量的开放会话记录。.

参数

这种方法对于未经身份验证的用户是可用的,并且必须在JSON-RPC请求中没有auth数调用。

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

该方法接受以下参数。

属性类型说明
password
(required)
string用户密码。 未使用的HTTP身份验证。
user
(required)
string用户名。
userDataflag返回关于已认证用户的信息。

当使用HTTP认证时,API请求中的用户名必须与授权头中使用的名称相匹配。密码将不会被验证,并且可以省略。

返回值

(string/object) 如果使用userDat参数,则返回包含关于经过身份验证用户信息的对象。

除了标准用户属性外, 还返回以下信息:

属性类型说明
debug_modeboolean是否为用户启用了调试模式。
gui_accessinteger用户的身份验证方法到前端。

可能值的列表,请参阅用户组对象gui_access属性。
sessionidstring身份验证令牌,必须在下列API请求中使用。
useripstring用户的IP地址。

如果一个用户在一次或多次失败的尝试之后成功地进行了身份验证,该方法将返回attempt_clock尝试失败尝试ip属性的当前值,然后重新设置它们。

如果不使用userData参数,该方法将返回身份验证令牌。

所生成的认证令牌必须存储,并在以下JSON-RPC请求的auth参数中使用。在使用HTTP认证时也需要它。

示例

认证一个用户

认证一个用户

Request:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "user.login",
  4. "params": {
  5. "user": "Admin",
  6. "password": "zabbix"
  7. },
  8. "id": 1
  9. }

Response:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": "0424bd59b807674191e7d77572075f33",
  4. "id": 1
  5. }

请求已验证用户的信息

验证并返回有关用户的附加信息。

Request:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "user.login",
  4. "params": {
  5. "user": "Admin",
  6. "password": "zabbix",
  7. "userData": true
  8. },
  9. "id": 1
  10. }

Response:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": {
  4. "userid": "1",
  5. "alias": "Admin",
  6. "name": "Zabbix",
  7. "surname": "Administrator",
  8. "url": "",
  9. "autologin": "1",
  10. "autologout": "0",
  11. "lang": "ru_RU",
  12. "refresh": "0",
  13. "type": "3",
  14. "theme": "default",
  15. "attempt_failed": "0",
  16. "attempt_ip": "127.0.0.1",
  17. "attempt_clock": "1355919038",
  18. "rows_per_page": "50",
  19. "debug_mode": true,
  20. "userip": "127.0.0.1",
  21. "sessionid": "5b56eee8be445e98f0bd42b435736e42",
  22. "gui_access": "0"
  23. },
  24. "id": 1
  25. }

参考

来源

CUser::login() in frontends/php/include/classes/api/services/CUser.php.