Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

userdirectory.test

Descrição

object userdirectory.test(array userDirectory)

Este método permite testar as configurações de conexão do diretório de usuários.

Este método também permite testar quais dados configurados correspondem às configurações do diretório de usuários para provisionamento de usuários (por exemplo, qual função de usuário, grupos de usuários, mídias de usuários serão atribuídos ao usuário). Para este tipo de teste, a solicitação da API deve ser feita para um diretório de usuários que tenha provision_status definido como habilitado.

Este método está disponível apenas para o tipo de usuário Super admin.

Parâmetros

(object) Propriedades do diretório de usuários.

Como a API userdirectory.get não retorna o campo bind_password, userdirectoryid e/ou bind_password devem ser fornecidos.
Além das propriedades padrão do diretório de usuários, o método aceita os seguintes parâmetros.

Parâmetro Tipo Descrição
test_username string Nome de usuário para testar no diretório de usuários.
test_password string Senha associada ao nome de usuário para testar no diretório de usuários.

Valores de retorno

(bool) Retorna verdadeiro em caso de sucesso.

Exemplos

Testar o diretório de usuários para um usuário existente

Testar o diretório de usuários "3" para "user1".

Requisição:

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

Resposta:

{
           "jsonrpc": "2.0",
           "result": true,
           "id": 1
       }
Testar diretório de usuário para usuário inexistente

Testar o diretório de usuário "3" para o "user2" inexistente.

Requisição:

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

Resposta:

{
           "jsonrpc": "2.0",
           "error": {
               "code": -32500,
               "message": "Application error.",
               "data": "Incorrect user name or password or account is temporarily blocked."
           },
           "id": 1
       }
Testar diretório de usuário para provisionamento de usuário

Testa o diretório de usuário "3" para quais dados configurados correspondem às configurações do diretório de usuário para o provisionamento do "user3" (por exemplo, quais funções de usuário, grupos de usuários, mídias de usuário serão atribuídos ao usuário).

Requisição:

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

Resposta:

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

Fonte

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