userdirectory.test
Descrizione
object userdirectory.test(array userDirectory)
Questo metodo consente di testare le impostazioni di connessione alla directory degli utenti.
Questo metodo consente anche di testare quali dati configurati corrispondono alle impostazioni della directory degli utenti per il provisioning degli utenti
(ad esempio, quale ruolo utente, quali gruppi di utenti e quali media utente verranno assegnati all'utente).
Per questo tipo di test, la richiesta API deve essere effettuata per una directory degli utenti con provision_status impostato su enabled.
Questo metodo è disponibile solo per il tipo di utente Super admin.
Parametri
(object) Proprietà della directory utenti.
Poiché l'API userdirectory.get non restituisce il campo bind_password, devono essere forniti userdirectoryid e/o bind_password.
Oltre alle proprietà standard della directory utenti, il metodo accetta i seguenti parametri.
| Parametro | Type | Descrizione |
|---|---|---|
| test_username | string | Nome utente da testare nella directory utenti. |
| test_password | string | Password associata al nome utente da testare nella directory utenti. |
Valori restituiti
"(bool)" Restituisce vero in caso di successo.
Esempi
Test della directory utenti per un utente esistente
Testa la directory utenti "3" per "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
}
Risposta:
{
"jsonrpc": "2.0",
"result": true,
"id": 1
}
Test della directory utenti per un utente inesistente
Test della directory utenti "3" per l'utente inesistente "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
}
Risposta:
{
"jsonrpc": "2.0",
"error": {
"code": -32500,
"message": "Errore dell'applicazione.",
"data": "Nome utente o password non corretti oppure account temporaneamente bloccato."
},
"id": 1
}
Test della directory utenti per il provisioning degli utenti
Testa la user directory "3" per verificare quali dati configurati corrispondono alle impostazioni della directory utenti per il provisioning di "user3" (ad esempio, quale ruolo utente, gruppi utenti e supporti utente verranno assegnati all'utente).
{
"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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"username": "user3",
"name": "John",
"surname": "Doe",
"medias": [],
"usrgrps": [
{
"usrgrpid": "8"
},
{
"usrgrpid": "7"
}
],
"roleid": "2",
"userdirectoryid": "2"
},
"id": 1
}
Fonte
CUserDirectory::test() in ui/include/classes/api/services/CUserDirectory.php.