userdirectory.test
Opis
object userdirectory.test(array userDirectory)
Ta metoda umożliwia przetestowanie ustawień połączenia z katalogiem użytkowników.
Ta metoda umożliwia również sprawdzenie, jakie skonfigurowane dane odpowiadają ustawieniom katalogu użytkowników dla aprowizacji użytkowników
(np. jaka rola użytkownika, grupy użytkowników, media użytkownika zostaną przypisane do użytkownika).
W przypadku tego typu testu żądanie API powinno zostać wykonane dla katalogu użytkowników, dla którego provision_status ma ustawioną wartość enabled.
Ta metoda jest dostępna wyłącznie dla typu użytkownika Super admin.
Parametry
(object) Właściwości katalogu użytkowników.
Ponieważ API userdirectory.get nie zwraca pola bind_password, należy podać userdirectoryid i/lub bind_password.
Oprócz standardowych właściwości katalogu użytkowników, metoda akceptuje następujące parametry.
| Parametr | Type | Opis |
|---|---|---|
| test_username | string | Nazwa użytkownika do przetestowania w katalogu użytkowników. |
| test_password | string | Hasło powiązane z nazwą użytkownika do przetestowania w katalogu użytkowników. |
Zwracane wartości
(bool) Zwraca true w przypadku powodzenia.
Przykłady
Testuj katalog użytkowników dla istniejącego użytkownika
Przetestuj katalog użytkowników „3” dla „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
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": true,
"id": 1
}
Testuj katalog użytkowników dla nieistniejącego użytkownika
Przetestuj katalog użytkowników „3” dla nieistniejącego użytkownika „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
}
Odpowiedź:
{
"jsonrpc": "2.0",
"error": {
"code": -32500,
"message": "Application error.",
"data": "Incorrect user name or password or account is temporarily blocked."
},
"id": 1
}
Testuj katalog użytkowników na potrzeby provisioningu użytkowników
Przetestuj katalog użytkowników „3”, aby sprawdzić, które skonfigurowane dane odpowiadają ustawieniom katalogu użytkowników dla provisioningu użytkownika „user3” (np. jaka rola użytkownika, grupy użytkowników i media użytkownika zostaną przypisane temu użytkownikowi).
{
"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
}
Odpowiedź:
{
"jsonrpc": "2.0",
"result": {
"username": "user3",
"name": "John",
"surname": "Doe",
"medias": [],
"usrgrps": [
{
"usrgrpid": "8"
},
{
"usrgrpid": "7"
}
],
"roleid": "2",
"userdirectoryid": "2"
},
"id": 1
}
Źródło
CUserDirectory::test() w ui/include/classes/api/services/CUserDirectory.php.