userdirectory.test

説明

object userdirectory.test(array userDirectory)

このメソッドは、ユーザーディレクトリの接続設定をテストします。

このメソッドは、ユーザープロビジョニングのユーザーディレクトリ設定と一致する設定データ(例:ユーザーに割り当てられるユーザーロール、ユーザーグループ、ユーザーメディア)をテストすることもできます。 このタイプのテストでは、provision_status が有効に設定されている ユーザーディレクトリ に対して API リクエストを送信する必要があります。

このメソッドは、スーパー管理者 ユーザータイプでのみ使用できます。

パラメータ

(object) ユーザーディレクトリのプロパティ

userdirectory.get API は bind_password フィールドを返さないため、userdirectoryid または bind_password を指定する必要があります。 標準のユーザーディレクトリのプロパティに加えて、このメソッドは以下のパラメータを受け入れます。

パラメータ タイプ 説明
test_username 文字列 ユーザーディレクトリでテストするユーザー名
test_password 文字列 ユーザーディレクトリでテストするユーザー名に関連付けられたパスワード

戻り値

(bool) 成功した場合はtrueを返します。

既存のユーザーのユーザーディレクトリのテスト

"user1"のユーザーディレクトリ"3"をテストします。

リクエスト :

{
    "jsonrpc": "2.0",
    "method": "userdirectory.test",
    "params": {
        "userdirectoryid": "3",
        "host": "127.0.0.1",
        "port": "389",
        "base_dn": "ou=Users,dc=example,dc=org",
        "search_attribute": "uid",
        "bind_dn": "cn=ldap_search,dc=example,dc=org",
        "bind_password": "password",
        "test_username": "user1",
        "test_password": "password"
    },
    "id": 1
}

レスポンス :

{
    "jsonrpc": "2.0",
    "result": true,
    "id": 1
}
存在しないユーザーのユーザーディレクトリのテスト

存在しない"user2"でユーザーディレクトリ"3"のテストをします。

リクエスト :

{
    "jsonrpc": "2.0",
    "method": "userdirectory.test",
    "params": {
        "userdirectoryid": "3",
        "host": "127.0.0.1",
        "port": "389",
        "base_dn": "ou=Users,dc=example,dc=org",
        "search_attribute": "uid",
        "bind_dn": "cn=ldap_search,dc=example,dc=org",
        "test_username": "user2",
        "test_password": "password"
    },
    "id": 1
}

レスポンス :

{
    "jsonrpc": "2.0",
    "error": {
        "code": -32500,
        "message": "Application error.",
        "data": "Incorrect user name or password or account is temporarily blocked."
    },
    "id": 1
}
ユーザープロビジョニングのユーザーディレクトリのテスト

"user3"プロビジョニングのユーザーディレクトリ設定と一致する構成されたデータのユーザーディレクトリ"3"をテストします (例えば、何かユーザーの役割、ユーザーグループ、ユーザーメディアがユーザーに割り当てられます)。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "userdirectory.test",
    "params": {
        "userdirectoryid": "2",
        "host": "host.example.com",
        "port": "389",
        "base_dn": "DC=zbx,DC=local",
        "search_attribute": "sAMAccountName",
        "bind_dn": "CN=Admin,OU=Users,OU=Zabbix,DC=zbx,DC=local",
        "test_username": "user3",
        "test_password": "password"
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": {
        "username": "user3",
        "name": "John",
        "surname": "Doe",
        "medias": [],
        "usrgrps": [
            {
                "usrgrpid": "8"
            },
            {
                "usrgrpid": "7"
            }
        ],
        "roleid": "2",
        "userdirectoryid": "2"
    },
    "id": 1
}

ソース

CUserDirectory::test() in ui/include/classes/api/services/CUserDirectory.php.