userdirectory.test

Descripció

object userdirectory.test(array userDirectory)

Aquest mètode permet provar la configuració de connexió del directori d'usuari.

Aquest mètode també permet provar quines dades configurades coincideixen amb la configuració del directori d'usuari per al subministrament d'usuaris (p. ex., quina funció d'usuari, grups d'usuaris, mitjans d'usuari s'assignaran a l'usuari). Per a aquest tipus de prova, la petició de l'API s'ha de fer per a un directori d'usuari que tingui provision_status activat.

Aquest mètode només és disponible per al tipus d'usuari Superadministrador.

Paràmetres

(objecte) Propietats del directori d'usuari.

Com que l'API userdirectory.get no retorna el camp bind_password, s'haurien de proporcionar userdirectoryid i/o bind_password.
A més de les [propietats del directori d'usuari estàndard] (objecte#directori d'usuari), el mètode admet els paràmetres següents.

Paràmetre Tipus Descripció
test_username cadena Nom d'usuari per provar al directori d'usuaris.
test_password cadena Mot de pas associat al nom d'usuari per provar al directori d'usuaris.

Valors de retorn

(bool) retorna cert si ha anat bé.

Exemples

Provar el directori d'usuari d'un usuari existent

Prova el directori d'usuari "3" per l'"user1".

Petició:

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

Resposta:

{
           "jsonrpc": "2.0",
           "result": true,
           "id": 1
       }
Provar el directori d'usuari d'un usuari no existent

Prova el directori d'usuari "3" per l'"user2" no existent.

Petició:

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

Resposta:

{
       "jsonrpc": "2.0",
       "error": {
       "code": -32500,
       "message": "Error d'aplicació.",
       "data": "usuari o paraula de pas incorrectes, o bé el compte és blocat temporalment."
       },
       "id": 1
       }
Provar el directori d'usuari per l'aprovisionament d'usuari

Prova el directori d'usuari "3" per la informació configurada que coincideixi amb les configuracions del directori d'usuari per l'aprovisionament de l'usuari "user3" (p.e., quin rol d'usuari, grups d'usuaris, suports d'usuari s'assignaran a l'usuari).

Petició:

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

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "username": "user3",
               "name": "John",
               "surname": "Doe",
               "medias": [],
               "usrgrps": [
                   {
                       "usrgrpid": "8"
                   },
                   {
                       "usrgrpid": "7"
                   }
               ],
               "roleid": "2",
               "userdirectoryid": "2"
           },
           "id": 1
       }

Font

CUserDirectory::test() a ui/include/classes/api/services/CUserDirectory.php.