string/object user.login(object parameters)
このメソッドを使用すると、APIにログインして認証トークンを生成できます
このメソッドを使用する場合はuser.logoutを実行して、開いているセッションレコードが大量に生成されないようにする必要もあります。
このメソッドは、認証されていないユーザーのみが使用でき、JSON-RPCリクエストでauth
パラメーターを指定せずに呼び出す必要があります。
(object)
ユーザー名とパスワードを含むパラメーター
このメソッドは、次のパラメーターを受け入れます。
パラメータ | タイプ | 説明 |
---|---|---|
password (必須) |
string | ユーザーパスワード |
username (必須) |
string | ユーザー名 |
userData | flag | 認証されたユーザーに関する情報 |
(string/object)
userData
パラメータが使用されている場合、認証されたユーザーに関する情報を含むオブジェクトを返します。
標準ユーザープロパティに加えて、次の情報が返されます。
プロパティ | タイプ | 説明 |
---|---|---|
debug_mode | boolean | ユーザーに対してデバッグモードが有効になっているかどうか |
gui_access | integer | フロントエンドに対するユーザーの認証方法 値のリストはユーザーグループオブジェクトの gui_access プロパティを参照してください |
sessionid | string | 認証トークン。次のAPIリクエストで使用する必要があります。 |
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:
認証してユーザーに関する追加情報を含めて返します。
Request:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"username": "Admin",
"password": "zabbix",
"userData": true
},
"id": 1
}
Response:
{
"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.