userdirectory.test

Opis

object userdirectory.test(array userDirectory)

Ta metoda umożliwia przetestowanie ustawień połączenia katalogu użytkowników.

Ta metoda umożliwia również sprawdzenie, jakie skonfigurowane dane odpowiadają ustawieniom katalogu użytkowników na potrzeby provisioningu użytkowników (np. jaka rola użytkownika, grupy użytkowników i media użytkownika zostaną przypisane użytkownikowi). Dla tego typu testu żądanie API powinno zostać wykonane dla katalogu użytkowników, który ma parametr provision_status ustawiony na enabled.

Ta metoda jest dostępna tylko dla użytkownika typu Super admin.

Parametry

(object) Właściwości katalogu użytkowników.

Ponieważ API userdirectory.get nie zwraca pola bind_password, należy podać userdirectoryid i/lub bind_password.
Oprócz standardowych właściwości katalogu użytkowników metoda akceptuje następujące parametry.

Parametr Type Opis
test_username string Nazwa użytkownika do przetestowania w katalogu użytkowników.
test_password string Hasło powiązane z nazwą użytkownika do przetestowania w katalogu użytkowników.

Zwracane wartości

(bool) Zwraca true w przypadku powodzenia.

Przykłady

Testuj katalog użytkowników dla istniejącego użytkownika

Przetestuj katalog użytkowników „3” dla „user1”.

Żądanie:

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

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": true,
    "id": 1
}
Testuj katalog użytkowników dla nieistniejącego użytkownika

Przetestuj katalog użytkowników „3” dla nieistniejącego użytkownika „user2”.

Żądanie:

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

Odpowiedź:

{
    "jsonrpc": "2.0",
    "error": {
        "code": -32500,
        "message": "Application error.",
        "data": "Incorrect user name or password or account is temporarily blocked."
    },
    "id": 1
}
Testuj katalog użytkowników na potrzeby provisioningu użytkowników

Przetestuj katalog użytkowników „3”, aby sprawdzić, które skonfigurowane dane odpowiadają ustawieniom katalogu użytkowników dla provisioningu użytkownika „user3” (np. jaka rola użytkownika, grupy użytkowników i media użytkownika zostaną przypisane temu użytkownikowi).

Żądanie:

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

Odpowiedź:

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

Źródło

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