userdirectory.test

Описание

object userdirectory.test(array userDirectory)

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

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

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

Параметры

(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": "Incorrect user name or password or account is temporarily blocked."
    },
    "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.