userdirectory.test

Описание

object userdirectory.test(array userDirectory)

Этот метод позволяет проверить настройки подключения к каталогу пользователей.

Этот метод также позволяет проверить, какие настроенные данные соответствуют настройкам каталога пользователей для подготовки пользователей (например, какая роль пользователя, группы пользователей и способы доставки сообщений будут назначены пользователю). Для этого типа проверки API-запрос следует выполнять для каталога пользователей, у которого параметр provision_status имеет значение enabled.

Этот метод доступен только пользователям типа Super admin.

Параметры

(object) Свойства каталога пользователей.

Поскольку API userdirectory.get не возвращает поле bind_password, необходимо указать userdirectoryid и/или bind_password.
Помимо стандартных свойств каталога пользователей, метод принимает следующие параметры.

Параметр Тип Описание
test_username string Имя пользователя для проверки в каталоге пользователей.
test_password string Пароль, связанный с именем пользователя, для проверки в каталоге пользователей.

Возвращаемые значения

(bool) Возвращает true в случае успешного выполнения.

Примеры

Тестирование каталога пользователей для существующего пользователя

Проверка каталога пользователей "3" для "user1".

Запрос:

{
    "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
}
Тестирование каталога пользователей для несуществующего пользователя

Проверка каталога пользователей "3" для несуществующего "user2".

Запрос:

{
    "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": "Неверное имя пользователя или пароль, либо учетная запись временно заблокирована."
    },
    "id": 1
}
Тестирование каталога пользователей для подготовки пользователей

Проверьте каталог пользователей "3", чтобы определить, какие настроенные данные соответствуют параметрам каталога пользователей для подготовки "user3" (например, какая роль пользователя, группы пользователей и средства оповещения будут назначены пользователю).

Запрос:

{
    "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() в ui/include/classes/api/services/CUserDirectory.php.