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.