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.
(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. |
(bool)
Devuelve verdadero en caso de éxito.
Pruebe el directorio de usuarios "3" para "usuario1".
{
"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:
Pruebe el directorio de usuarios "3" para detectar si no existe un "usuario2".
{
"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 "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).
{
"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
}
CUserDirectory::test() en ui/include/classes/api/services/CUserDirectory.php.