userdirectory.test
Descrizione
object userdirectory.test(array userDirectory)
Questo metodo consente di testare le impostazioni di connessione della directory utenti.
Questo metodo consente anche di verificare quali dati configurati corrispondono alle impostazioni della directory utenti per il provisioning degli utenti
(ad esempio, quale ruolo utente, gruppi utenti e media utente verranno assegnati all'utente).
Per questo tipo di test, la richiesta API deve essere effettuata per una directory utenti che abbia provision_status impostato su abilitato.
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.