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.