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.
(object) Propriedades do diretório de usuário.
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ário, 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ário. |
| test_password | string | Senha associada ao nome de usuário para testar no diretório de usuário. |
(bool) Retorna verdadeiro em caso de sucesso.
Testar o diretório de usuários "3" para "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
}Resposta:
Testar o diretório de usuário "3" para o "user2" inexistente.
{
"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
}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 de "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).
{
"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
}CUserDirectory::test() em ui/include/classes/api/services/CUserDirectory.php.