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".

Richiesta:

{
    "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".

Richiesta:

{
    "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).

Richiesta:

{
    "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.