string/object user.login(object parameters)
このメソッドを使用すると、APIにログインして認証トークンを生成できます
このメソッドを使用する場合はuser.logoutを実行して、開いているセッションレコードが大量に生成されないようにする必要もあります。
このメソッドは、認証されていないユーザーのみが使用でき、JSON-RPCリクエストでauthパラメーターを指定せずに呼び出す必要があります。
(object) ユーザー名とパスワードを含むパラメーター
このメソッドは、次のパラメーターを受け入れます。
| パラメータ | タイプ | 説明 |
|---|---|---|
| password (必須) |
string | ユーザーパスワード |
| username (必須) |
string | ユーザー名 |
| userData | flag | 認証されたユーザーに関する情報 |
| user (非推奨) |
string | このパラメータは非推奨です。代わりに username を使用してください。ユーザー名 |
(string/object) userDataパラメータが使用されている場合、認証されたユーザーに関する情報を含むオブジェクトを返します。
標準ユーザープロパティに加えて、次の情報が返されます。
| プロパティ | タイプ | 説明 |
|---|---|---|
| debug_mode | boolean | ユーザーに対してデバッグモードが有効になっているかどうか |
| gui_access | integer | フロントエンドに対するユーザーの認証方法 値のリストはユーザーグループオブジェクトの gui_accessプロパティを参照してください |
| sessionid | string | 認証トークン。次のAPIリクエストで使用する必要があります。 |
| type | integer | ユーザー タイプ 使用可能な値のリストはRoleオブジェクトの typeプロパティを参照してください。 |
| userip | string | ユーザーのIPアドレス |
試行が1回以上失敗した後でユーザーが正常に認証された場合、メソッドはattempt_clock,attempt_failedおよびattempt_ipプロパティの現在の値を返し、それらをリセットします。
userDataパラメータが使用されていない場合、メソッドは認証トークンを返します。
生成された認証トークンは記憶され、次のJSON-RPCリクエストのauthパラメータで使用される必要があります。 HTTP認証を使用する場合にも必要です。
ユーザー認証
Request:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix"
},
"id": 1
}Response:
ユーザーを認証して追加情報を返します。
リクエスト:
{
"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() in ui/include/classes/api/services/CUser.php.