userdirectory.test

Descripción

object userdirectory.test(array userDirectory)

Este método permite probar la configuración de conexión del directorio de usuarios.

Este método también permite probar qué datos configurados coinciden con la configuración del directorio de usuarios para el aprovisionamiento de usuarios. (por ejemplo, qué rol de usuario, grupos de usuarios, medios de usuario se asignarán al usuario). Para este tipo de prueba, la solicitud de API debe realizarse para un directorio de usuarios que tenga el parámetro provision_status configurado como habilitado.

Este método solo está disponible para el tipo de usuario Super administrador.

Parámetros

(objeto) Propiedades del directorio de usuario.

Dado que la API userdirectory.get no devuelve el campo bind_password, se deben proporcionar userdirectoryid y/o bind_password.
Además de las propiedades estándar del [directorio de usuarios] (object#userdirectory), el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
test_username cadena Nombre de usuario a probar en el directorio de usuarios.
test_password cadena Contraseña asociada al nombre de usuario para probar en el directorio de usuarios.

Valores de retorno

(bool) Devuelve verdadero en caso de éxito.

Ejemplos

Pruebe el directorio de usuarios para el usuario existente

Pruebe el directorio de usuarios "3" para "usuario1".

Solicitud:

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

Respuesta:

{
           "jsonrpc": "2.0",
           "result": true,
           "id": 1
       }
Pruebe el directorio de usuarios para un usuario no existente

Pruebe el directorio de usuarios "3" para detectar si no existe un "usuario2".

Solicitud:

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

Respuesta:

{
           "jsonrpc": "2.0",
           "error": {
               "code": -32500,
               "message": "Application error.",
               "data": "Incorrect user name or password or account is temporarily blocked."
           },
           "id": 1
       }
Pruebe el directorio de usuarios para el aprovisionamiento de usuarios

Pruebe el directorio de usuarios "3" para ver qué datos configurados coinciden con la configuración del directorio de usuarios para el aprovisionamiento de "usuario3" (por ejemplo, qué rol de usuario, grupos de usuarios, medios de usuario se asignarán al usuario).

Solicitud:

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

Respuesta:

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

Fuente

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