-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathldap-search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: bd8f8383a35547d9b19cbe75c05240e6a1ce6142 Maintainer: edwincartagenah Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.ldap-search" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>ldap_search</refname>
<refpurpose>Buscar el árbol LDAP</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>ldap_search</methodname>
<methodparam><type>resource</type><parameter>link_identifier</parameter></methodparam>
<methodparam><type>string</type><parameter>base_dn</parameter></methodparam>
<methodparam><type>string</type><parameter>filter</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>attributes</parameter><initializer>array("*")</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>attrsonly</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>sizelimit</parameter><initializer>-1</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>timelimit</parameter><initializer>-1</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>deref</parameter><initializer>LDAP_DEREF_NEVER</initializer></methodparam>
<methodparam choice="opt"><type>array</type><parameter>serverctrls</parameter><initializer>array()</initializer></methodparam>
</methodsynopsis>
<para>
Realiza la búsqueda de un filtro específico sobre el directorio con el alcance
de <constant>LDAP_SCOPE_SUBTREE</constant>. Esto es equivalente a buscar en
el directorio completo.
</para>
<para>
Desde la versión 4.0.5 en adelante, también es posible hacer búsquedas paralelas. Para hacer esto
se utiliza un array de identificadores de enlace, en lugar de un simple identificador,
como el primer argumento. Si no quieres el mismo DN y el mismo
filtro para todas las búsquedas, puedes utilizar también un array de DNs
base y/o un array de filtros. Esos arrays deben ser del mismo tamaño como
el de el array del identificador de enlace ya que, las primeras entradas de los arrays
son utilizadas por una búsqueda, las segundas entradas son utilizadas para otra, y
así. Cuando se hacen búsquedas en paralelo se devuelve un array de identificadores del
resultado de la búsqueda, exceptuando en caso de error, la entrada que corresponde
a la búsqueda será &false;. Esto es muy parecido a los valores
que normalmente se devuelven, excepto que un identificador de resultado siempre es
devuelto cuando se hace una búsqueda. Hay algunos casos raros donde el resultado
normal de la búsqueda devuelve &false; mientras que la búsqueda paralela devuelve un
identificador.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>link_identifier</parameter></term>
<listitem>
<para>
Un identificador de enlace de LDAP, devuelto por <function>ldap_connect</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>base_dn</parameter></term>
<listitem>
<para>
El DN base para el directorio.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>filter</parameter></term>
<listitem>
<para>
El filtro de búsqueda puede ser simple o avanzado, utilizando operadores booleanos en
el formato descrito en la documentación de LDAP (ver el <link
xlink:href="&url.ldap.filters;">Directorio del SDK Netscape</link> o el
<link xlink:href="&url.rfc;4515">RFC4515</link> para la
información completa sobre filtros).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>attributes</parameter></term>
<listitem>
<para>
Un array de los atributos requeridos, por ejemplo, <literal>array("mail", "sn", "cn")</literal>.
Nótese que el "dn" siempre es devuelto independientemente de qué tipos de atributos
sean requeridos.
</para>
<para>
Utilizando este parámetro es mucho más eficiente que la acción predeterminada
(la cual es devolver todos los atributos y sus valores asociados).
El uso de este parámetro debería ser considerado una buena
práctica.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>attrsonly</parameter></term>
<listitem>
<para>
Debería ser establecido a 1 si sólo se buscan tipos de atributos. Si se establece a 0
los valores de atributos y los tipos de atributos se muestran tal cual es el
comportamiento predeterminado.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>sizelimit</parameter></term>
<listitem>
<para>
Te permite limitar la cantidad de entradas a mostrar. Al establecer esto a 0
siginifica que no hay límite.
</para>
<note>
<para>
Este parámetro NO puede prevalecer sobre el sizelimit preestablecido en el lado del servidor. Puede aún
establecerlo a uno más bajo.
</para>
<para>
Algunos equipos de servidor de directorio serán configurados para devolver no mas que
un número preestablecido de entradas. Si esto ocurre, el servidor indicará
que sólo ha devuelto un conjunto de resultados parciales. Esto también ocurre si
utiliza este parámetro para limitar el conteo de entradas devueltas.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>timelimit</parameter></term>
<listitem>
<para>
Establece el número de segundos de cuánto tiempo pasa en la búsqueda. Poniendo
esto a 0 siginifica que no hay límite.
</para>
<note>
<para>
Este parámetro NO puede prevalecer sobre el timelimit preestablecido en el lado del servidor. Puede aún
establecerlo a uno más bajo.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>deref</parameter></term>
<listitem>
<para>
Especifica cuántos alias deberían ser manejados durante la búsqueda. Este puede ser
uno de los siguientes:
<itemizedlist>
<listitem>
<simpara>
<constant>LDAP_DEREF_NEVER</constant> - (predeterminado) Los alias nunca son
dereferenciados.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LDAP_DEREF_SEARCHING</constant> - Los alias deberían ser
dereferenciados durante la búsqueda pero no cuando se está ubicando el objeto base
de la búsqueda.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LDAP_DEREF_FINDING</constant> - Los alias deberían ser
dereferenciados cuando se está ubicando el objeto base pero no durante la búsqueda.
</simpara>
</listitem>
<listitem>
<simpara>
<constant>LDAP_DEREF_ALWAYS</constant> - Los alias siempre deberían ser dereferenciados.
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>serverctrls</parameter></term>
<listitem>
<para>
Array de <link linkend="ldap.controls">Controles de LDAP</link> a enviar con la petición.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un identificador de resultado de búsqueda, o &false; en caso de error.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.3</entry>
<entry>
Se añadión soporte para <parameter>serverctrls</parameter>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<