userdirectory.test
Description
object userdirectory.test(array userDirectory)
Cette méthode permet de tester les paramètres de connexion de l’annuaire d’utilisateurs.
Cette méthode permet également de tester quelles données configurées correspondent aux paramètres de l’annuaire d’utilisateurs pour le provisionnement des utilisateurs
(par exemple, quel rôle utilisateur, quels groupes d’utilisateurs, quels médias utilisateur seront attribués à l’utilisateur).
Pour ce type de test, la requête API doit être effectuée pour un annuaire d’utilisateurs dont provision_status est défini sur activé.
Cette méthode est disponible uniquement pour le type d’utilisateur Super admin.
Paramètres
(object) Propriétés du répertoire d’utilisateurs.
Comme l’API userdirectory.get ne renvoie pas le champ bind_password, userdirectoryid et/ou bind_password doivent être fournis.
En plus des propriétés standard du répertoire d’utilisateurs, la méthode accepte les paramètres suivants.
| Paramètre | Type | Description |
|---|---|---|
| test_username | string | Nom d’utilisateur à tester dans le répertoire d’utilisateurs. |
| test_password | string | Mot de passe associé au nom d’utilisateur à tester dans le répertoire d’utilisateurs. |
Valeurs de retour
(bool) Renvoie true en cas de succès.
Exemples
Tester le répertoire d’utilisateurs pour un utilisateur existant
Tester le répertoire d’utilisateurs « 3 » pour « 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
}
Réponse :
{
"jsonrpc": "2.0",
"result": true,
"id": 1
}
Tester le répertoire d’utilisateurs pour un utilisateur inexistant
Tester le répertoire d’utilisateurs « 3 » pour l’utilisateur inexistant « user2 ».
Requête :
{
"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
}
Réponse :
{
"jsonrpc": "2.0",
"error": {
"code": -32500,
"message": "Erreur d’application.",
"data": "Nom d’utilisateur ou mot de passe incorrect, ou compte temporairement bloqué."
},
"id": 1
}
Tester l'annuaire utilisateur pour le provisionnement des utilisateurs
Tester l'annuaire utilisateur « 3 » afin de vérifier quelles données configurées correspondent aux paramètres de l'annuaire utilisateur pour le provisionnement de « user3 » (par exemple, quel rôle utilisateur, quels groupes d'utilisateurs et quels médias utilisateur seront attribués à l'utilisateur).
{
"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
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"username": "user3",
"name": "John",
"surname": "Doe",
"medias": [],
"usrgrps": [
{
"usrgrpid": "8"
},
{
"usrgrpid": "7"
}
],
"roleid": "2",
"userdirectoryid": "2"
},
"id": 1
}
Source
CUserDirectory::test() dans ui/include/classes/api/services/CUserDirectory.php.