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

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

Requête:

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