4D v16.3

LDAP SEARCH ALL

Página Inicial

 
4D v16.3
LDAP SEARCH ALL

LDAP SEARCH ALL 


 

LDAP SEARCH ALL ( dnRootEntry ; arrResultado ; filtro {; escopo {; atributos {; atributosComoArray}}} ) 
Parâmetro Tipo   Descrição
dnRootEntry  String in o Distinguished Name do diretório raiz onde a pesquisa começará
arrResultado  Array objeto in Resultado da pesquisa
filtro  String in filtro de pesquisa LDAP
escopo  String in Escopo da pesquisa "base" (padrão), "one", ou "sub"
atributos  Array texto in Atributos da pesquisa
atributosComoArray  Array booleano in True = força os atributos a serem retornados como um array, false = força os atributos a serem retornados como uma variável simples

O comando LDAP SEARCH ALL encontra todas as ocorrências que correspondem aos critérios definidos no servidor LDAP objetivo. Este comando deve ser executado dentro de uma conexão com um servidor LDAP aberto com  LDAP LOGIN; caso contrário, um erro 1003 é retornado.

Lembre que os servidores LDAP geralmente impõem um número máximo de entradas que podem ser recebidas a partir de uma pesquisa. Por exemplo, o diretório de Microsoft Active limita esse número para 1.000 entradas como padrão.

Em dnRootEntry, passe o Distinguished Name do elemento raiz do servidor LDAP; a pesquisa irá recomeçar a partir deste elemento.

Em
tabResult, passe um objeto array que será preenchido com todas as entradas correspondentes; nesse array, cada elemento é um objeto que contém os pares atributo / valor retornados por uma entrada correspondente. Você pode usar o parâmetro atributos para definir os parâmetros devolvidos.

Em filtro, passar o filtro de pesquisa LDAP a ser aplicado. A string filtro deve ser rfc2225 compatível. Você pode passar uma string vazia "" para não filtrar a pesquisa; o "*" é suportado para encontrar substrings.

Em escopo (escopo do aplicativo), passar uma das seguintes constantes do tema "LDAP":
ConstanteTipoValorComentario
LDAP root onlyTexto"base"Procurar só no elemento raíz definido por dnRootEntry (por padrão se for omitido)
LDAP root and nextTexto"one"Buscar no elemento la raíz definido por dnRootEntry  e nas entradas posteriores diretamente nun nivel
LDAP all levelsTexto"sub"Buscar no elemento raíz definido por dnRootEntry e em todas as entradas posteriores

Em atributos, passar um array de texto que contém a lista de todos os atributos LDAP para recuperar a partir das entradas encontradas. Por padrão, se o parâmetro for omitido, todos os atributos são recuperados.

Nota: Por favor, note que os nomes dos atributos LDAP diferenciam entre maiúsculas e minúsculas. Para mais informações sobre os atributos LDAP, você pode consultar
esta página que lista todos os atributos disponíveis para MS Active directory.

Como padrão, o comando retorna atributos como uma array se forem encontrados vários resultados, ou como uma variável, se for um único resultado. Parâmetros opcionais atributosEmArray permitem  "forçar" o formato dos atributos retornados em um array ou como uma variável para cada atributo definido:

  • Quando você passar true em um item, o elemento correspondente do parâmetro atributos será devolvido em um array. Se houver um único valor, o comando retorna um array com um único elemento.
  • Quando você passar false em um item, o elemento correspondente do parâmetro atributos será devolvido em uma  variável simples. Se forem encontradas várias entradas, o comando retorna apenas o primeiro elemento.

Queremos obter o número de telefone de todos os usuários com nome "smith" no diretório da empresa:

 ARRAY TEXT($_tabAttributes;0)
 ARRAY BOOLEAN($_tabAttributes_asArray;0)
 APPEND TO ARRAY($_tabAttributes;"cn")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 APPEND TO ARRAY($_tabAttributes;"telephoneNumber")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 ARRAY OBJECT($_entry;0)
 
 LDAP LOGIN($url;$myLogin;$pwd)
 $filter:="cn=*smith*"
 LDAP SEARCH ALL($dnSearchRootEntry;$_entry;$filter;LDAP all levels;$_tabAttributes)
 LDAP LOGOUT
 
 
  //$_entry conterá por exemplo
  // $_entry{1} = {"cn":"John Smith","telephoneNumber":"01 40 87 00 00"}
  // $_entry{2} = {"cn":"Adele Smith","telephoneNumber":"01 40 87 00 01"}
  // $_entry{3} = {"cn":"Adrian Smith","telephoneNumber":"01 23 45 67 89"}
  // ...

Estes exemplos ilustram o uso do parâmetro atributosEmArray:

 ARRAY OBJECT($_entry;0)
 ARRAY TEXT($_tabAttributes;0)
 ARRAY BOOLEAN($_tabAttributes_asArray;0)
 APPEND TO ARRAY($_tabAttributes;"cn")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 APPEND TO ARRAY($_tabAttributes;"memberOf")
 APPEND TO ARRAY($_tabAttributes_asArray;True)
 
 LDAP LOGIN($url;$login;$pwd;LDAP password plain text)
 LDAP SEARCH ALL($dnSearchRootEntry;$_entry;$filter;LDAP all levels;$_tabAttributes;$_tabAttributes_asArray)
 LDAP LOGOUT
 
 ARRAY TEXT($_arrMemberOf;0)
 OB GET ARRAY($_entry{1};"memberOf";$_arrMemberOf)
  // em $_arrMemberOf temos um array que contém todos os grupos da entrada

 ARRAY TEXT($_tabAttributes;0)
 ARRAY BOOLEAN($_tabAttributes_asArray;0)
 APPEND TO ARRAY($_tabAttributes;"cn")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 APPEND TO ARRAY($_tabAttributes;"memberOf")
 APPEND TO ARRAY($_tabAttributes_asArray;False)
 
 LDAP LOGIN($url;$login;$pwd;LDAP password plain text)
 LDAP SEARCH ALL($dnSearchRootEntry;$_entry;$filter;LDAP all levels;$_tabAttributes;$_tabAttributes_asArray)
 LDAP LOGOUT
 
 $memberOf:=OB Get($_entry{1};"memberOf")
  // em $memberOf temos uma variável que contém o primeiro grupo da entrada



Ver também 

LDAP
LDAP Search

 
PROPRIEDADES 

Produto: 4D
Tema: LDAP
Número 1329

 
HISTÓRIA 

Criado por: 4D v15

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)