El componente Zend_Ldap acepta un array de opciones,
ya sea suministrado al constructor o mediante el método
setOptions(). Las opciones permitidas son las siguientes:
Tabla 41.2. Opciones de Zend_Ldap
| Nombre | Descripción |
|---|---|
| host |
El nombre de host por defecto del servidor LDAP si no se
suministra a connect() (también puede usarse
al intentar canonicalizar nombres de usuario en
bind()).
|
| port |
El puerto por defecto del servidor LDAP si no se suministra a
connect().
|
| useStartTls |
Indica si el cliente LDAP debe usar
transporte cifrado TLS (también conocido como SSLv2).
Se recomienda encarecidamente un valor TRUE
en entornos de producción para evitar que las contraseñas se transmitan en
texto claro. El valor por defecto es FALSE, ya que los servidores
frecuentemente requieren que un certificado se instale por separado después de
la instalación. Las opciones useSsl y
useStartTls son mutuamente excluyentes.
Se debe favorecer la opción useStartTls
sobre useSsl, pero no todos los servidores admiten
este mecanismo más reciente.
|
| useSsl | Indica si el cliente LDAP debe usar transporte cifrado SSL. Las opciones useSsl y useStartTls son mutuamente excluyentes. |
| username | El nombre de usuario de credenciales por defecto. Algunos servidores requieren que esto esté en forma de DN. Debe darse en forma de DN si el servidor LDAP requiere un DN para enlazar y el enlace debería ser posible con nombres de usuario simples. |
| password | La contraseña de credenciales por defecto (usada solo con el username anterior). |
| bindRequiresDn |
Si es TRUE, esta opción indica a
Zend_Ldap que recupere el DN de la
cuenta usada para enlazar si el nombre de usuario no está
ya en forma de DN. El valor por defecto es FALSE.
|
| baseDn | El DN base por defecto usado para búsquedas (p. ej., de cuentas). Esta opción es necesaria para la mayoría de las operaciones relacionadas con cuentas y debe indicar el DN bajo el cual se ubican las cuentas. |
| accountCanonicalForm | Un entero pequeño que indica la forma a la cual los nombres de cuenta deben canonicalizarse. Consulte la sección Canonicalización del nombre de cuenta más abajo. |
| accountDomainName | El dominio FQDN para el cual el servidor LDAP de destino es una autoridad (p. ej., example.com). |
| accountDomainNameShort | El dominio "corto" para el cual el servidor LDAP de destino es una autoridad. Esto se usa habitualmente para especificar el nombre de dominio NetBIOS para redes Windows, pero también puede ser usado por servidores que no son AD. |
| accountFilterFormat |
El filtro de búsqueda LDAP usado para buscar cuentas.
Esta cadena es una expresión al estilo de sprintf()
que debe contener un '%s' para
dar cabida al nombre de usuario. El valor por defecto es
'(&(objectClass=user)(sAMAccountName=%s))'
a menos que bindRequiresDn esté establecido a
TRUE, en cuyo caso el valor por defecto es
'(&(objectClass=posixAccount)(uid=%s))'.
Los usuarios de esquemas personalizados pueden necesitar cambiar esta opción.
|
| allowEmptyPassword |
Algunos servidores LDAP pueden configurarse para aceptar una
contraseña de cadena vacía como un enlace anónimo. Este comportamiento es casi
siempre indeseable. Por esta razón, las contraseñas vacías están explícitamente
deshabilitadas. Establezca este valor a TRUE para permitir que se
envíe una contraseña de cadena vacía durante el enlace.
|
| optReferrals |
Si se establece a TRUE, esta opción indica al
cliente LDAP que se deben seguir los referrals.
El valor por defecto es FALSE.
|
| tryUsernameSplit |
Si se establece a FALSE, esta opción indica que el
nombre de usuario dado no debe dividirse en el primer carácter @
o \ para separar el nombre de usuario del
dominio durante el procedimiento de enlace. Esto permite al usuario
usar nombres de usuario que contengan un carácter @ o
\ que no
hereden información de dominio, p. ej. usando direcciones de correo para
el enlace. El valor por defecto es TRUE.
|
![]() |
Nota |
|---|---|
Los nombres de métodos en cursiva son métodos estáticos. |
Zend_Ldap es la interfaz base hacia un servidor
LDAP. Proporciona métodos de conexión y enlace, así como métodos para operar sobre el
árbol LDAP.
Tabla 41.3. API de Zend_Ldap
| Método | Descripción | |||
|---|---|---|---|---|
string filterEscape(string $str) |
Escapa un valor para su uso en un filtro LDAP según la
RFC 2254. Este método está obsoleto,
use en su lugar Zend_Ldap_Filter_Abstract::escapeValue().
|
|||
boolean explodeDn($dn, array &$keys = null, array &$vals =
null)
|
Comprueba si un DN dado $dn está mal formado. Si
se proporcionan $keys o $keys y
$vals, estos arrays se rellenarán con las
claves y valores de DN correspondientes. Este método está
obsoleto, use en su lugar
Zend_Ldap_Dn::checkDn().
|
|||
__construct($options) |
Constructor. El parámetro $options es opcional
y puede establecerse como un array o una instancia de Zend_Config.
Si no se proporcionan opciones en la instanciación, los parámetros de conexión
deben pasarse a la instancia usando
Zend_Ldap::setOptions(). Las opciones permitidas se
especifican en Opciones de Zend_Ldap
|
|||
resource getResource() |
Devuelve el recurso LDAP nativo de la extensión (ext/ldap). | |||
integer getLastErrorCode() |
Devuelve el número de error LDAP del último comando LDAP. | |||
string getLastError(integer &$errorCode, array
&$errorMessages)
|
Devuelve el mensaje de error LDAP del último
comando LDAP. El parámetro opcional $errorCode
se establece con el número de error LDAP si se proporciona. El
array opcional $errorMessages se rellenará con los mensajes de
error en bruto si se proporciona. Las diversas funciones de recuperación de errores
LDAP pueden devolver cosas diferentes, por lo que todas se recopilan
si se proporciona $errorMessages.
|
|||
Zend_Ldap setOptions($options) |
Establece los parámetros de conexión y enlace LDAP.
$options puede ser un array o una instancia de
Zend_Config. Las opciones permitidas se especifican en
Opciones de Zend_Ldap
|
|||
array getOptions() |
Devuelve los parámetros de conexión y enlace actuales. | |||
string getBaseDn() |
Devuelve el DN base al que está enlazada esta conexión LDAP. | |||
string getCanonicalAccountName(string $acctname, integer $form)
|
Devuelve el nombre de cuenta canónico del nombre de cuenta dado
$acctname. $form especifica el formato
en el cual el nombre de cuenta se canonicaliza. Consulte Canonicalización
del nombre de cuenta para más detalles.
|
|||
Zend_Ldap disconnect() |
Desconecta la instancia Zend_Ldap del
servidor LDAP.
|
|||
Zend_Ldap connect(string $host, integer $port, boolean $useSsl,
boolean $useStartTls)
|
Conecta la instancia Zend_Ldap al servidor
LDAP dado. Todos los parámetros son opcionales y se
tomarán de los parámetros de conexión y enlace LDAP
pasados a la instancia mediante el constructor o mediante
Zend_Ldap::setOptions() cuando se establezcan a
NULL.
|
|||
Zend_Ldap bind(string $username, string $password)
|
Autentica a $username con
$password en el servidor LDAP. Si ambos
parámetros se omiten, el enlace se llevará a cabo con las credenciales
proporcionadas en los parámetros de conexión y enlace. Si no se proporcionan
credenciales en los parámetros de conexión y enlace, se realizará
un enlace anónimo. Tenga en cuenta que esto requiere que se permitan enlaces anónimos
en el servidor LDAP. Se puede pasar una cadena vacía ''
como $password junto con un nombre de usuario si, y
solo si, allowEmptyPassword está establecido a
TRUE en los parámetros de conexión y enlace.
|
|||
Zend_Ldap_Collection search(string|Zend_Ldap_Filter_Abstract $filter,
string|Zend_Ldap_Dn $basedn, integer $scope, array $attributes, string
$sort, string $collectionClass)
|
Busca en el árbol LDAP con el
$filter dado y los parámetros de búsqueda dados.
|
|||
integer count(string|Zend_Ldap_Filter_Abstract
$filter, string|Zend_Ldap_Dn $basedn, integer
$scope)
|
Cuenta los elementos devueltos por los parámetros de búsqueda dados.
Vea Zend_Ldap::search() para una descripción detallada
de los parámetros del método.
|
|||
integer countChildren(string|Zend_Ldap_Dn $dn) |
Cuenta los descendientes directos (hijos) de la entrada
identificada por el $dn dado.
|
|||
boolean exists(string|Zend_Ldap_Dn $dn) |
Comprueba si existe la entrada identificada por el
$dn dado.
|
|||
array searchEntries(string|Zend_Ldap_Filter_Abstract
$filter, string|Zend_Ldap_Dn $basedn, integer $scope, array
$attributes, string $sort)
|
Realiza una operación de búsqueda y devuelve el resultado como un
array de PHP. Este es esencialmente el mismo método que
Zend_Ldap::search() excepto por el tipo de retorno. Vea
Zend_Ldap::search() para una descripción detallada de
los parámetros del método.
|
|||
array getEntry(string|Zend_Ldap_Dn $dn, array
$attributes, boolean $throwOnNotFound)
|
Recupera la entrada LDAP identificada por
$dn con los atributos especificados en
$attributes. Si se omite $attributes,
se incluyen todos los atributos (array()) en
el resultado. $throwOnNotFound es
FALSE por defecto, por lo que el método devolverá
NULL si no se puede encontrar la entrada especificada. Si se establece a
TRUE, se lanzará en su lugar una
Zend_Ldap_Exception.
|
|||
void prepareLdapEntryArray(array
&$entry)
|
Prepara un array para su uso en operaciones de modificación LDAP. Este método no necesita ser llamado por el usuario final, ya que se llama implícitamente en cada método de modificación de datos. | |||
Zend_Ldap add(string|Zend_Ldap_Dn $dn, array
$entry)
|
Añade la entrada identificada por $dn con sus atributos
$entry al árbol LDAP. Lanza una
Zend_Ldap_Exception si la entrada no pudo
añadirse.
|
|||
Zend_Ldap update(string|Zend_Ldap_Dn $dn, array $entry)
|
Actualiza la entrada identificada por $dn con sus atributos
$entry en el árbol LDAP. Lanza una
Zend_Ldap_Exception si la entrada no pudo
modificarse.
|
|||
Zend_Ldap save(string|Zend_Ldap_Dn $dn, array $entry)
|
Guarda la entrada identificada por $dn con sus atributos
$entry en el árbol LDAP. Lanza una
Zend_Ldap_Exception si la entrada no pudo guardarse.
Este método decide, consultando el árbol LDAP, si la
entrada se añadirá o se actualizará.
|
|||
Zend_Ldap delete(string|Zend_Ldap_Dn $dn, boolean $recursively)
|
Elimina la entrada identificada por $dn del
árbol LDAP. Lanza una
Zend_Ldap_Exception si la entrada no pudo
eliminarse. $recursively es FALSE por
defecto. Si se establece a TRUE la eliminación se llevará
a cabo de forma recursiva y efectivamente eliminará un subárbol completo. La eliminación
fallará si $recursively es FALSE
y la entrada $dn no es una entrada hoja.
|
|||
Zend_Ldap moveToSubtree(string|Zend_Ldap_Dn $from,
string|Zend_Ldap_Dn $to, boolean $recursively, boolean
$alwaysEmulate)
|
Mueve la entrada identificada por $from a una ubicación bajo
$to manteniendo su RDN sin cambios.
$recursively especifica si la operación se
llevará a cabo de forma recursiva (FALSE por defecto) de modo que
la entrada $from y todos sus descendientes se moverán.
El movimiento fallará si $recursively es
FALSE y la entrada $from no es una
entrada hoja. $alwaysEmulate controla si se debe usar la
función de ext/ldap ldap_rename() si está disponible.
Esto solo puede funcionar para entradas hoja y para servidores y para ext/ldap
que admitan esta función. Establézcalo a TRUE para usar siempre una
operación de renombrado emulada.
|
|||
Zend_Ldap move(string|Zend_Ldap_Dn $from,
string|Zend_Ldap_Dn $to, boolean $recursively, boolean
$alwaysEmulate)
|
Este es un alias para Zend_Ldap::rename().
|
|||
Zend_Ldap rename(string|Zend_Ldap_Dn $from,
string|Zend_Ldap_Dn $to, boolean $recursively, boolean
$alwaysEmulate)
|
Renombra la entrada identificada por $from a
$to. $recursively especifica si la
operación se llevará a cabo de forma recursiva (FALSE por
defecto) de modo que la entrada $from y todos sus
descendientes se moverán. El movimiento fallará si
$recursively es FALSE y la entrada
$from no es una entrada hoja.
$alwaysEmulate controla si se debe usar la función de ext/ldap
ldap_rename() si está disponible. Esto solo puede
funcionar para entradas hoja y para servidores y para ext/ldap que admitan esta
función. Establézcalo a TRUE para usar siempre una operación de
renombrado emulada.
|
|||
Zend_Ldap copyToSubtree(string|Zend_Ldap_Dn $from,
string|Zend_Ldap_Dn $to, boolean $recursively)
|
Copia la entrada identificada por $from a una ubicación bajo
$to manteniendo su RDN sin cambios.
$recursively especifica si la operación se
llevará a cabo de forma recursiva (FALSE por defecto) de modo que
la entrada $from y todos sus descendientes se copiarán.
La copia fallará si $recursively es
FALSE y la entrada $from no es una
entrada hoja.
|
|||
Zend_Ldap copy(string|Zend_Ldap_Dn $from,
string|Zend_Ldap_Dn $to, boolean $recursively)
|
Copia la entrada identificada por $from a
$to. $recursively especifica si la
operación se llevará a cabo de forma recursiva (FALSE por
defecto) de modo que la entrada $from y todos sus
descendientes se copiarán. La copia fallará si
$recursively es FALSE y la entrada
$from no es una entrada hoja.
|
|||
Zend_Ldap_Node getNode(string|Zend_Ldap_Dn $dn) |
Devuelve la entrada $dn envuelta en un
Zend_Ldap_Node.
|
|||
Zend_Ldap_Node getBaseNode() |
Devuelve la entrada para el DN base $baseDn
envuelta en un Zend_Ldap_Node.
|
|||
Zend_Ldap_Node_RootDse getRootDse() |
Devuelve el RootDSE para el servidor actual. | |||
Zend_Ldap_Node_Schema getSchema() |
Devuelve el esquema LDAP para el servidor actual. |
Zend_Ldap_Collection implementa Iterator para
permitir el recorrido de elementos usando foreach() y
Countable para poder responder a count(). Con
su método protegido _createEntry() proporciona un punto de
extensión simple para los desarrolladores que necesiten objetos de resultado personalizados.
Tabla 41.4. API de Zend_Ldap_Collection
| Método | Descripción |
|---|---|
__construct(Zend_Ldap_Collection_Iterator_Interface
$iterator)
|
Constructor. El constructor debe recibir un
Zend_Ldap_Collection_Iterator_Interface que
realiza la iteración real de resultados.
Zend_Ldap_Collection_Iterator_Default es la
implementación por defecto para iterar resultados de ext/ldap.
|
boolean close() |
Cierra el iterador interno. Esto también se llama en el destructor. |
array toArray() |
Devuelve todas las entradas como un array. |
array getFirst() |
Devuelve la primera entrada de la colección o
NULL si la colección está vacía.
|
Zend_Ldap_Attribute es una clase auxiliar que proporciona únicamente
métodos estáticos para manipular arrays adecuados a la estructura usada en
los métodos de modificación de datos de Zend_Ldap y al formato de datos requerido
por el servidor LDAP. Los tipos de datos PHP se convierten
de la siguiente manera:
stringNo se realizará ninguna conversión.
integeryfloatEl valor se convertirá a una cadena.
booleanTRUEse convertirá a 'TRUE' yFALSEa 'FALSE'objectyarrayEl valor se convertirá a una cadena usando
serialize().resourceSi se proporciona un recurso
stream, los datos se obtendrán llamando astream_get_contents().- otros
Todos los demás tipos de datos (concretamente los recursos que no son stream) se omitirán.
Al leer los valores de atributo se realizará la siguiente conversión:
- '
TRUE' Convertido a
TRUE.- '
FALSE' Convertido a
FALSE.- otros
Todas las demás cadenas no se convertirán automáticamente y se pasan tal cual.
Tabla 41.5. API de Zend_Ldap_Attribute
| Método | Descripción |
|---|---|
void setAttribute(array &$data, string
$attribName, mixed $value, boolean $append)
|
Establece el atributo $attribName en
$data al valor $value. Si
$append es TRUE
(FALSE por defecto), $value se
añadirá al atributo. $value puede ser un valor escalar
o un array de valores escalares. Se aplicará la conversión.
|
array|mixed getAttribute(array $data,
string $attribName, integer|null $index)
|
Devuelve el atributo $attribName de
$data. Si $index es
NULL (por defecto), se devolverá un array conteniendo
todos los valores del atributo dado. Se devolverá un array vacío si el
atributo no existe en el array dado. Si se especifica un índice
entero, se devolverá el valor correspondiente en dicho índice. Si el
índice está fuera de rango, se devolverá NULL. Se aplicará la
conversión.
|
boolean attributeHasValue(array &$data,
string $attribName, mixed|array $value)
|
Comprueba si el atributo $attribName en
$data tiene el/los valor(es) dado(s) en
$value. El método devuelve TRUE solo
si todos los valores en $value están presentes en el atributo.
La comparación se hace de forma estricta (respetando el tipo de dato).
|
void removeDuplicatesFromAttribute(array
&$data, string $attribName)
|
Elimina todos los duplicados del atributo
$attribName en $data.
|
void removeFromAttribute(array &$data,
string $attribName, mixed|array $value)
|
Elimina el/los valor(es) dado(s) en $value del
atributo $attribName en
$data.
|
string|null convertToLdapValue(mixed
$value)
|
Convierte un tipo de dato PHP a su representación LDAP. Consulte la introducción para más detalles. |
mixed convertFromLdapValue(string
$value)
|
Convierte un valor LDAP a su tipo de dato PHP. Consulte la introducción para más detalles. |
string|null
convertToLdapDateTimeValue(integer $value, boolean $utc)
|
Convierte una marca de tiempo a su representación de fecha/hora
LDAP. Si $utc es TRUE
(FALSE por defecto), la cadena de fecha/hora
LDAP resultante estará en UTC,
de lo contrario se devolverá una cadena de fecha/hora local.
|
integer|null
convertFromLdapDateTimeValue(string $value)
|
Convierte la representación de fecha/hora LDAP en una marca de tiempo.
El método devuelve NULL si $value
no se puede reconvertir a una marca de tiempo PHP.
|
void setPassword(array &$data, string
$password, string $hashType, string $attribName)
|
Establece una contraseña LDAP para el atributo
$attribName en $data.
$attribName por defecto es 'userPassword',
que es el atributo de contraseña estándar. El hash de contraseña puede
especificarse con $hashType. El valor por defecto aquí es
Zend_Ldap_Attribute::PASSWORD_HASH_MD5, siendo
Zend_Ldap_Attribute::PASSWORD_HASH_SHA la otra
posibilidad.
|
string createPassword(string $password,
string $hashType)
|
Crea una contraseña LDAP. El hash de contraseña puede
especificarse con $hashType. El valor por defecto aquí es
Zend_Ldap_Attribute::PASSWORD_HASH_MD5, siendo
Zend_Ldap_Attribute::PASSWORD_HASH_SHA la otra
posibilidad.
|
void setDateTimeAttribute(array &$data,
string $attribName, integer|array $value, boolean $utc, boolean
$append)
|
Establece el atributo $attribName en
$data al valor de fecha/hora $value.
Si $append es TRUE
(FALSE por defecto), $value se
añadirá al atributo. $value puede ser un valor entero
o un array de enteros. Se aplicará la conversión de fecha/hora según
Zend_Ldap_Attribute::convertToLdapDateTimeValue().
|
array|integer getDateTimeAttribute(array
$data, string $attribName, integer|null $index)
|
Devuelve el atributo de fecha/hora $attribName
de $data. Si $index es
NULL (por defecto), se devolverá un array conteniendo
todos los valores de fecha/hora del atributo dado. Se devolverá un array vacío
si el atributo no existe en el array dado. Si se especifica un índice
entero, se devolverá el valor de fecha/hora correspondiente en dicho índice. Si el
índice está fuera de rango, se devolverá NULL. Se aplicará la
conversión de fecha/hora según
Zend_Ldap_Attribute::convertFromLdapDateTimeValue().
|
Zend_Ldap_Dn proporciona una interfaz orientada a objetos para
manipular nombres distinguidos (DN) LDAP. El parámetro
$caseFold que se usa en varios métodos determina la forma en que
se gestionan los atributos del DN en cuanto a su capitalización. Los valores permitidos para este
parámetro son:
Zend_Ldap_Dn::ATTR_CASEFOLD_NONENo se realizará ninguna conversión de capitalización.
Zend_Ldap_Dn::ATTR_CASEFOLD_UPPERTodos los atributos se convertirán a mayúsculas.
Zend_Ldap_Dn::ATTR_CASEFOLD_LOWERTodos los atributos se convertirán a minúsculas.
La capitalización por defecto es Zend_Ldap_Dn::ATTR_CASEFOLD_NONE y
puede establecerse con Zend_Ldap_Dn::setDefaultCaseFold(). Cada instancia
de Zend_Ldap_Dn puede tener su propia configuración de capitalización. Si se
omite el parámetro $caseFold en las llamadas a métodos, se usa por defecto
la configuración de capitalización de la instancia.
La clase implementa ArrayAccess para permitir el acceso mediante índice a las
distintas partes del DN. Los métodos de ArrayAccess delegan en
Zend_Ldap_Dn::get($offset, 1, null) para offsetGet(integer
$offset), en Zend_Ldap_Dn::set($offset, $value) para
offsetSet() y en
Zend_Ldap_Dn::remove($offset, 1) para
offsetUnset(). offsetExists() simplemente
comprueba si el índice está dentro de los límites.
Tabla 41.6. API de Zend_Ldap_Dn
| Método | Descripción |
|---|---|
Zend_Ldap_Dn factory(string|array $dn,
string|null $caseFold)
|
Crea una instancia de Zend_Ldap_Dn a partir de un array
o una cadena. El array debe ajustarse a la estructura de array detallada
en Zend_Ldap_Dn::implodeDn().
|
Zend_Ldap_Dn fromString(string $dn,
string|null $caseFold)
|
Crea una instancia de Zend_Ldap_Dn a partir de una
cadena.
|
Zend_Ldap_Dn fromArray(array $dn,
string|null $caseFold)
|
Crea una instancia de Zend_Ldap_Dn a partir de un array.
El array debe ajustarse a la estructura de array detallada en
Zend_Ldap_Dn::implodeDn().
|
array getRdn(string|null $caseFold) |
Obtiene el RDN del DN actual. El valor devuelto es un array con los nombres de atributos RDN como claves y los valores de atributos RDN. |
string getRdnString(string|null $caseFold) |
Obtiene el RDN del DN actual. El valor devuelto es una cadena. |
Zend_Ldap_Dn getParentDn(integer $levelUp) |
Obtiene el DN del ancestro del DN actual
$levelUp niveles hacia arriba en el árbol. $levelUp
por defecto es 1.
|
array get(integer $index, integer $length, string|null
$caseFold)
|
Devuelve un fragmento del DN actual determinado por
$index y $length.
$index comienza en 0 en la parte del DN por la
izquierda.
|
Zend_Ldap_Dn set(integer $index, array $value) |
Reemplaza una parte del DN en el DN actual. Esta operación manipula la instancia actual. |
Zend_Ldap_Dn remove(integer $index, integer $length) |
Elimina una parte del DN del DN actual. Esta operación
manipula la instancia actual. $length por defecto es
1
|
Zend_Ldap_Dn append(array $value) |
Añade una parte del DN al DN actual. Esta operación manipula la instancia actual. |
Zend_Ldap_Dn prepend(array $value) |
Antepone una parte del DN al DN actual. Esta operación manipula la instancia actual. |
Zend_Ldap_Dn insert(integer $index, array $value) |
Inserta una parte del DN después del índice $index en el
DN actual. Esta operación manipula la instancia
actual.
|
void setCaseFold(string|null $caseFold) |
Establece la opción de capitalización en la instancia de DN actual. Si
$caseFold es NULL, se establecerá para
la instancia actual la configuración de capitalización por defecto
(Zend_Ldap_Dn::ATTR_CASEFOLD_NONE
por defecto o configurada mediante
Zend_Ldap_Dn::setDefaultCaseFold()).
|
string toString(string|null $caseFold) |
Devuelve el DN como una cadena. |
array toArray(string|null $caseFold) |
Devuelve el DN como un array. |
string __toString() |
Devuelve el DN como una cadena - delega en
Zend_Ldap_Dn::toString(null).
|
void setDefaultCaseFold(string
$caseFold)
|
Establece la opción de capitalización por defecto usada por todas las instancias en su creación por defecto. Las instancias ya existentes no se ven afectadas por esta configuración. |
array escapeValue(string|array
$values)
|
Escapa un valor de DN según la RFC 2253. |
array unescapeValue(string|array
$values)
|
Deshace la conversión realizada por
Zend_Ldap_Dn::escapeValue().
|
array explodeDn(string $dn, array
&$keys, array &$vals, string|null $caseFold)
|
Descompone el DN
array(
array("cn" => "name1", "uid" => "user"),
array("cn" => "name2"),
array("dc" => "example"),
array("dc" => "org")
)
para un DN de |
boolean checkDn(string $dn, array
&$keys, array &$vals, string|null $caseFold)
|
Comprueba si un DN dado $dn está mal formado. Si
se proporcionan $keys o $keys y
$vals, estos arrays se rellenarán con las
claves y valores de DN correspondientes.
|
string implodeRdn(array $part, string|null
$caseFold)
|
Devuelve una parte del DN en la forma
$attribute=$value
|
string implodeDn(array $dnArray,
string|null $caseFold, string $separator)
|
Une un array en la forma proporcionada por
array(
array("cn" => "name1", "uid" => "user"),
array("cn" => "name2"),
array("dc" => "example"),
array("dc" => "org")
)
|
boolean isChildOf(string|Zend_Ldap_Dn
$childDn, string|Zend_Ldap_Dn $parentDn)
|
Comprueba si el $childDn dado está por debajo del
subárbol de $parentDn.
|
Tabla 41.7. API de Zend_Ldap_Filter
| Método | Descripción |
|---|---|
Zend_Ldap_Filter equals(string $attr,
string $value)
|
Crea un filtro de 'igualdad':
(attr=value).
|
Zend_Ldap_Filter begins(string $attr,
string $value)
|
Crea un filtro de 'comienza con':
(attr=value*).
|
Zend_Ldap_Filter ends(string $attr, string
$value)
|
Crea un filtro de 'termina con':
(attr=*value).
|
Zend_Ldap_Filter contains(string $attr,
string $value)
|
Crea un filtro de 'contiene':
(attr=*value*).
|
Zend_Ldap_Filter greater(string $attr,
string $value)
|
Crea un filtro de 'mayor que':
(attr>value).
|
Zend_Ldap_Filter greaterOrEqual(string
$attr, string $value)
|
Crea un filtro de 'mayor o igual que':
(attr>=value).
|
Zend_Ldap_Filter less(string $attr, string
$value)
|
Crea un filtro de 'menor que':
(attr<value).
|
Zend_Ldap_Filter lessOrEqual(string $attr,
string $value)
|
Crea un filtro de 'menor o igual que':
(attr<=value).
|
Zend_Ldap_Filter approx(string $attr,
string $value)
|
Crea un filtro 'aproximado':
(attr~=value).
|
Zend_Ldap_Filter any(string $attr)
|
Crea un filtro de 'cualquiera': (attr=*). |
Zend_Ldap_Filter string(string
$filter)
|
Crea un filtro de cadena personalizado simple. El usuario es responsable de todo el escapado de valores, ya que el filtro se usa tal cual. |
Zend_Ldap_Filter mask(string $mask, string
$value,...)
|
Crea un filtro a partir de una máscara de cadena. Todos los parámetros
$value se escaparán y sustituirán en $mask
usando
sprintf()
|
Zend_Ldap_Filter
andFilter(Zend_Ldap_Filter_Abstract $filter,...)
|
Crea un filtro 'and' a partir de todos los argumentos dados. |
Zend_Ldap_Filter
orFilter(Zend_Ldap_Filter_Abstract $filter,...)
|
Crea un filtro 'or' a partir de todos los argumentos dados. |
__construct(string $attr, string $value, string
$filtertype, string|null $prepend, string|null
$append)
|
Constructor. Crea un filtro arbitrario según los
parámetros proporcionados. El filtro resultante será una concatenación
$attr . $filtertype . $prepend . $value . $append.
Normalmente este constructor no es necesario, ya que todos los filtros pueden
crearse usando los métodos de fábrica apropiados.
|
string toString() |
Devuelve una representación en cadena del filtro. |
string __toString() |
Devuelve una representación en cadena del filtro. Delega en
Zend_Ldap_Filter::toString().
|
Zend_Ldap_Filter_Abstract negate() |
Niega el filtro actual. |
Zend_Ldap_Filter_Abstract
addAnd(Zend_Ldap_Filter_Abstract $filter,...)
|
Crea un filtro 'and' a partir del filtro actual y todos los filtros pasados como argumentos. |
Zend_Ldap_Filter_Abstract
addOr(Zend_Ldap_Filter_Abstract $filter,...)
|
Crea un filtro 'or' a partir del filtro actual y todos los filtros pasados como argumentos. |
string|array escapeValue(string|array
$values)
|
Escapa los $values dados según la
RFC 2254 para que puedan usarse de forma segura en
filtros LDAP. Si se proporciona una única cadena, se devuelve una cadena;
en caso contrario se devuelve un array. Cualquier carácter de control con un
código ASCII < 32, así como los caracteres con significado
especial en los filtros LDAP "*", "(", ")" y "\" (la
barra invertida) se convierten en la representación de una barra invertida seguida de
dos dígitos hexadecimales que representan el valor hexadecimal del carácter.
|
string|array unescapeValue(string|array
$values)
|
Deshace la conversión realizada por
Zend_Ldap_Filter::escapeValue(). Convierte cualquier
secuencia de una barra invertida seguida de dos dígitos hexadecimales en el
carácter correspondiente.
|
Zend_Ldap_Node incluye los accesores de propiedades mágicos
__set(), __get(),
__unset() y __isset() para acceder a los
atributos por su nombre. Delegan en
Zend_Ldap_Node::setAttribute(),
Zend_Ldap_Node::getAttribute(),
Zend_Ldap_Node::deleteAttribute() y
Zend_Ldap_Node::existsAttribute() respectivamente. Además, la
clase implementa ArrayAccess para el acceso a los atributos al estilo de array.
Zend_Ldap_Node también implementa Iterator y
RecursiveIterato para permitir el recorrido recursivo del árbol.
Tabla 41.8. API de Zend_Ldap_Node
| Método | Descripción |
|---|---|
Zend_Ldap getLdap() |
Devuelve la conexión LDAP actual. Lanza
Zend_Ldap_Exception si el nodo actual está en modo
desvinculado (no conectado a una instancia de Zend_Ldap).
|
Zend_Ldap_Node attachLdap(Zend_Ldap $ldap) |
Vincula el nodo actual a la instancia $ldap
de Zend_Ldap. Lanza
Zend_Ldap_Exception si $ldap
no es responsable del nodo actual (el nodo no es hijo del DN base de
$ldap).
|
Zend_Ldap_Node detachLdap() |
Desvincula el nodo de la conexión LDAP. |
boolean isAttached() |
Comprueba si el nodo actual está vinculado a una conexión LDAP. |
Zend_Ldap_Node create(string|array|Zend_Ldap_Dn $dn, array
$objectClass)
|
Método de fábrica para crear un nuevo Zend_Ldap_Node
desvinculado para un DN dado. Crea un nuevo
Zend_Ldap_Node con el DN $dn y
las clases de objeto $objectClass.
|
Zend_Ldap_Node fromLdap(string|array|Zend_Ldap_Dn $dn,
Zend_Ldap $ldap)
|
Método de fábrica para crear un Zend_Ldap_Node
vinculado para un DN dado. Carga un
Zend_Ldap_Node existente con el DN $dn
desde la conexión LDAP $ldap.
|
Zend_Ldap_Node fromArray((array $data,
boolean $fromDataSource)
|
Método de fábrica para crear un Zend_Ldap_Node desvinculado
a partir de los datos del array $data. Si
$fromDataSource es TRUE
(FALSE por defecto), los datos se tratan como si estuvieran
presentes en un árbol LDAP.
|
boolean isNew() |
Indica si el nodo se considera nuevo (no presente en el
servidor). Tenga en cuenta que esto no indica si el nodo está realmente
presente en el servidor. Use Zend_Ldap_Node::exists()
para comprobar si un nodo ya existe.
|
boolean willBeDeleted() |
Indica si este nodo va a ser eliminado una vez se llame a
Zend_Ldap_Node::update().
|
Zend_Ldap_Node delete() |
Marca este nodo para su eliminación. El nodo se eliminará al
llamar a Zend_Ldap_Node::update() si
Zend_Ldap_Node::willBeDeleted() es
TRUE.
|
boolean willBeMoved() |
Indica si este nodo va a ser movido una vez se llame a
Zend_Ldap_Node::update().
|
Zend_Ldap_Node update(Zend_Ldap $ldap) |
Envía todos los cambios pendientes al servidor LDAP. Si
se omite $ldap, se usa la conexión LDAP
actual. Si el nodo actual está desvinculado de una conexión
LDAP, se lanzará una
Zend_Ldap_Exception. Si se proporciona
$ldap, el nodo actual se vinculará a
la conexión LDAP dada.
|
Zend_Ldap_Dn getCurrentDn() |
Obtiene el DN actual del nodo actual como un
Zend_Ldap_Dn. Esto no refleja posibles
operaciones de renombrado.
|
Zend_Ldap_Dn getDn() |
Obtiene el DN original del nodo actual como un
Zend_Ldap_Dn. Esto refleja posibles
operaciones de renombrado.
|
string getDnString(string $caseFold) |
Obtiene el DN original del nodo actual como una cadena. Esto refleja posibles operaciones de renombrado. |
array getDnArray(string $caseFold) |
Obtiene el DN original del nodo actual como un array. Esto refleja posibles operaciones de renombrado. |
string getRdnString(string $caseFold) |
Obtiene el RDN del nodo actual como una cadena. Esto refleja posibles operaciones de renombrado. |
array getRdnArray(string $caseFold) |
Obtiene el RDN del nodo actual como un array. Esto refleja posibles operaciones de renombrado. |
Zend_Ldap_Node setDn(Zend_Ldap_Dn|string|array $newDn)
|
Establece el nuevo DN para este nodo, moviendo efectivamente el nodo
una vez se llame a Zend_Ldap_Node::update().
|
Zend_Ldap_Node move(Zend_Ldap_Dn|string|array $newDn)
|
Este es un alias para Zend_Ldap_Node::setDn().
|
Zend_Ldap_Node rename(Zend_Ldap_Dn|string|array $newDn)
|
Este es un alias para Zend_Ldap_Node::setDn().
|
array getObjectClass() |
Devuelve el objectClass del nodo. |
Zend_Ldap_Node setObjectClass(array|string $value) |
Establece el atributo objectClass. |
Zend_Ldap_Node appendObjectClass(array|string $value)
|
Añade al atributo objectClass. |
string toLdif(array $options) |
Devuelve una representación LDIF del nodo actual.
$options se pasará al
Zend_Ldap_Ldif_Encoder.
|
array getChangedData() |
Obtiene los datos modificados del nodo. El array contiene todos los
atributos modificados. Este formato puede usarse en
Zend_Ldap::add() y
Zend_Ldap::update().
|
array getChanges() |
Devuelve todos los cambios realizados. |
string toString() |
Devuelve el DN del nodo actual - delega en
Zend_Ldap_Dn::getDnString().
|
string __toString() |
Convierte a representación en cadena - delega en
Zend_Ldap_Dn::toString().
|
array toArray(boolean $includeSystemAttributes) |
Devuelve una representación en array del nodo actual. Si
$includeSystemAttributes es FALSE
(por defecto TRUE), los atributos específicos del sistema se
eliminan del array. A diferencia de
Zend_Ldap_Node::getAttributes(), el array
resultante contiene el DN con la clave 'dn'.
|
string toJson(boolean $includeSystemAttributes) |
Devuelve una representación JSON del nodo actual usando
Zend_Ldap_Node::toArray().
|
array getData(boolean $includeSystemAttributes) |
Devuelve los atributos del nodo. El array contiene todos los atributos en su formato interno (sin conversión). |
boolean existsAttribute(string $name, boolean $emptyExists)
|
Comprueba si existe un atributo dado. Si
$emptyExists es FALSE, los atributos
vacíos (que contienen solo array()) se tratan como inexistentes, devolviendo
FALSE. Si $emptyExists es
TRUE, los atributos vacíos se tratan como existentes, devolviendo
TRUE. En este caso el método devuelve
FALSE solo si el nombre del atributo falta en la
colección de claves.
|
boolean attributeHasValue(string $name, mixed|array $value)
|
Comprueba si el/los valor(es) dado(s) existen en el atributo. El
método devuelve TRUE solo si todos los valores en
$value están presentes en el atributo. La comparación se
hace de forma estricta (respetando el tipo de dato).
|
integer count() |
Devuelve el número de atributos en el nodo. Implementa Countable. |
mixed getAttribute(string $name, integer|null $index)
|
Obtiene un atributo LDAP. Se aplica la conversión de datos usando
Zend_Ldap_Attribute::getAttribute().
|
array getAttributes(boolean $includeSystemAttributes)
|
Obtiene todos los atributos del nodo. Si
$includeSystemAttributes es FALSE
(por defecto TRUE), los atributos específicos del sistema se
eliminan del array.
|
Zend_Ldap_Node setAttribute(string $name, mixed $value)
|
Establece un atributo LDAP. Se aplica la conversión de datos usando
Zend_Ldap_Attribute::setAttribute().
|
Zend_Ldap_Node appendToAttribute(string $name, mixed $value)
|
Añade a un atributo LDAP. Se aplica la conversión de datos
usando Zend_Ldap_Attribute::setAttribute().
|
array|integer getDateTimeAttribute(string $name,
integer|null $index)
|
Obtiene un atributo de fecha/hora LDAP. Se aplica la conversión de
datos usando
Zend_Ldap_Attribute::getDateTimeAttribute().
|
Zend_Ldap_Node setDateTimeAttribute(string $name,
integer|array $value, boolean $utc)
|
Establece un atributo de fecha/hora LDAP. Se aplica la conversión de
datos usando
Zend_Ldap_Attribute::setDateTimeAttribute().
|
Zend_Ldap_Node appendToDateTimeAttribute(string $name,
integer|array $value, boolean $utc)
|
Añade a un atributo de fecha/hora LDAP. Se aplica la conversión de
datos usando
Zend_Ldap_Attribute::setDateTimeAttribute().
|
Zend_Ldap_Node setPasswordAttribute(string $password,
string $hashType, string $attribName)
|
Establece una contraseña LDAP en $attribName
(por defecto 'userPassword') al valor $password
con el tipo de hash $hashType (por defecto
Zend_Ldap_Attribute::PASSWORD_HASH_MD5).
|
Zend_Ldap_Node deleteAttribute(string $name) |
Elimina un atributo LDAP. |
void removeDuplicatesFromAttribute(string$name) |
Elimina los valores duplicados de un atributo LDAP. |
void removeFromAttribute(string $attribName,
mixed|array $value)
|
Elimina los valores dados de un atributo LDAP. |
boolean exists(Zend_Ldap $ldap) |
Comprueba si el nodo actual existe en el servidor LDAP
dado (se usa el servidor actual si se pasa NULL).
|
Zend_Ldap_Node reload(Zend_Ldap $ldap) |
Recarga los atributos del nodo actual desde el servidor LDAP
dado (se usa el servidor actual si se pasa NULL).
|
Zend_Ldap_Node_Collection
searchSubtree(string|Zend_Ldap_Filter_Abstract $filter, integer
$scope, string $sort)
|
Busca en el subárbol del nodo con el
$filter dado y los parámetros de búsqueda dados. Vea
Zend_Ldap::search() para más detalles sobre los parámetros
$scope y $sort.
|
integer countSubtree(string|Zend_Ldap_Filter_Abstract
$filter, integer $scope)
|
Cuenta los elementos del subárbol del nodo que coinciden con el
$filter dado y el ámbito de búsqueda dado. Vea
Zend_Ldap::search() para más detalles sobre el
parámetro $scope.
|
integer countChildren() |
Cuenta los hijos del nodo. |
Zend_Ldap_Node_Collection
searchChildren(string|Zend_Ldap_Filter_Abstract $filter, string
$sort)
|
Busca en los hijos del nodo que coincidan con el
$filter dado. Vea Zend_Ldap::search()
para más detalles sobre el parámetro $sort.
|
boolean hasChildren() |
Devuelve si el nodo actual tiene hijos. |
Zend_Ldap_Node_ChildrenIterator getChildren() |
Devuelve todos los hijos del nodo actual. |
Zend_Ldap_Node getParent(Zend_Ldap $ldap) |
Devuelve el padre del nodo actual usando la conexión LDAP
$ldap (usa la conexión LDAP actual
si se omite).
|
Los siguientes métodos están disponibles en todas las subclases específicas de proveedor.
Zend_Ldap_Node_RootDse incluye los accesores de propiedades mágicos
__get() y __isset() para acceder a los
atributos por su nombre. Delegan en
Zend_Ldap_Node_RootDse::getAttribute() y
Zend_Ldap_Node_RootDse::existsAttribute() respectivamente.
__set() y __unset() también están implementados,
pero lanzan una BadMethodCallException, ya que no se permiten modificaciones en
los nodos RootDSE. Además, la clase implementa ArrayAccess para el
acceso a los atributos al estilo de array. offsetSet() y
offsetUnset() también lanzan una BadMethodCallException por
razones obvias.
Tabla 41.9. API de Zend_Ldap_Node_RootDse
| Método | Descripción |
|---|---|
Zend_Ldap_Dn getDn() |
Obtiene el DN del nodo actual como un Zend_Ldap_Dn.
|
string getDnString(string $caseFold) |
Obtiene el DN del nodo actual como una cadena. |
array getDnArray(string $caseFold) |
Obtiene el DN del nodo actual como un array. |
string getRdnString(string $caseFold) |
Obtiene el RDN del nodo actual como una cadena. |
array getRdnArray(string $caseFold) |
Obtiene el RDN del nodo actual como un array. |
array getObjectClass() |
Devuelve el objectClass del nodo. |
string toString() |
Devuelve el DN del nodo actual - delega en
Zend_Ldap_Dn::getDnString().
|
string __toString() |
Convierte a representación en cadena - delega en
Zend_Ldap_Dn::toString().
|
array toArray(boolean $includeSystemAttributes) |
Devuelve una representación en array del nodo actual. Si
$includeSystemAttributes es FALSE
(por defecto TRUE), los atributos específicos del sistema se
eliminan del array. A diferencia de
Zend_Ldap_Node_RootDse::getAttributes(), el
array resultante contiene el DN con la clave 'dn'.
|
string toJson(boolean $includeSystemAttributes) |
Devuelve una representación JSON del nodo actual usando
Zend_Ldap_Node_RootDse::toArray().
|
array getData(boolean $includeSystemAttributes) |
Devuelve los atributos del nodo. El array contiene todos los atributos en su formato interno (sin conversión). |
boolean existsAttribute(string $name, boolean $emptyExists)
|
Comprueba si existe un atributo dado. Si
$emptyExists es FALSE, los atributos
vacíos (que contienen solo array()) se tratan como inexistentes, devolviendo
FALSE. Si $emptyExists es
TRUE, los atributos vacíos se tratan como existentes,
devolviendo TRUE. En este caso el método devuelve
FALSE solo si el nombre del atributo falta en la
colección de claves.
|
boolean attributeHasValue(string $name, mixed|array $value)
|
Comprueba si el/los valor(es) dado(s) existen en el atributo. El
método devuelve TRUE solo si todos los valores en
$value están presentes en el atributo. La comparación se
hace de forma estricta (respetando el tipo de dato).
|
integer count() |
Devuelve el número de atributos en el nodo. Implementa Countable. |
mixed getAttribute(string $name, integer|null $index)
|
Obtiene un atributo LDAP. Se aplica la conversión de datos usando
Zend_Ldap_Attribute::getAttribute().
|
array getAttributes(boolean $includeSystemAttributes)
|
Obtiene todos los atributos del nodo. Si
$includeSystemAttributes es FALSE
(por defecto TRUE), los atributos específicos del sistema se
eliminan del array.
|
array|integer getDateTimeAttribute(string $name,
integer|null $index)
|
Obtiene un atributo de fecha/hora LDAP. Se aplica la conversión de
datos usando
Zend_Ldap_Attribute::getDateTimeAttribute().
|
Zend_Ldap_Node_RootDse reload(Zend_Ldap $ldap) |
Recarga los atributos del nodo actual desde el servidor LDAP dado. |
Zend_Ldap_Node_RootDse create(Zend_Ldap
$ldap)
|
Método de fábrica para crear el RootDSE. |
array getNamingContexts() |
Obtiene los namingContexts. |
string|null getSubschemaSubentry() |
Obtiene el subschemaSubentry. |
boolean supportsVersion(string|int|array $versions) |
Determina si se admite la versión LDAP. |
boolean supportsSaslMechanism(string|array $mechlist)
|
Determina si se admite el mecanismo sasl. |
integer getServerType() |
Obtiene el tipo de servidor. Devuelve
|
Zend_Ldap_Dn getSchemaDn() |
Devuelve el DN del esquema. |
Además, los métodos comunes anteriores se aplican a instancias de
Zend_Ldap_Node_RootDse_OpenLdap.
![]() |
Nota |
|---|---|
Consulte LDAP Operational Attributes and Objectspara obtener información sobre los atributos del RootDSE de OpenLDAP. |
Tabla 41.10. API de Zend_Ldap_Node_RootDse_OpenLdap
| Método | Descripción |
|---|---|
integer getServerType() |
Obtiene el tipo de servidor. Devuelve
Zend_Ldap_Node_RootDse::SERVER_TYPE_OPENLDAP
|
string|null getConfigContext() |
Obtiene el configContext. |
string|null getMonitorContext() |
Obtiene el monitorContext. |
boolean supportsControl(string|array $oids) |
Determina si se admite el control. |
boolean supportsExtension(string|array $oids) |
Determina si se admite la extensión. |
boolean supportsFeature(string|array $oids) |
Determina si se admite la característica. |
Además, los métodos comunes anteriores se aplican a instancias de
Zend_Ldap_Node_RootDse_ActiveDirectory.
![]() |
Nota |
|---|---|
Consulte RootDSEpara obtener información sobre los atributos del RootDSE de Microsoft ActiveDirectory. |
Tabla 41.11. API de Zend_Ldap_Node_RootDse_ActiveDirectory
| Método | Descripción |
|---|---|
integer getServerType() |
Obtiene el tipo de servidor. Devuelve
Zend_Ldap_Node_RootDse::SERVER_TYPE_ACTIVEDIRECTORY
|
string|null getConfigurationNamingContext() |
Obtiene el configurationNamingContext. |
string|null getCurrentTime() |
Obtiene el currentTime. |
string|null getDefaultNamingContext() |
Obtiene el defaultNamingContext. |
string|null getDnsHostName() |
Obtiene el dnsHostName. |
string|null getDomainControllerFunctionality() |
Obtiene el domainControllerFunctionality. |
string|null getDomainFunctionality() |
Obtiene el domainFunctionality. |
string|null getDsServiceName() |
Obtiene el dsServiceName. |
string|null getForestFunctionality() |
Obtiene el forestFunctionality. |
string|null getHighestCommittedUSN() |
Obtiene el highestCommittedUSN. |
string|null getIsGlobalCatalogReady() |
Obtiene el isGlobalCatalogReady. |
string|null getIsSynchronized() |
Obtiene el isSynchronized. |
string|null getLdapServiceName() |
Obtiene el ldapServiceName. |
string|null getRootDomainNamingContext() |
Obtiene el rootDomainNamingContext. |
string|null getSchemaNamingContext() |
Obtiene el schemaNamingContext. |
string|null getServerName() |
Obtiene el serverName. |
boolean supportsCapability(string|array $oids) |
Determina si se admite la capacidad. |
boolean supportsControl(string|array $oids) |
Determina si se admite el control. |
boolean supportsPolicy(string|array $policies) |
Determina si se admite la versión. |
Además, los métodos comunes anteriores se aplican a instancias de
Zend_Ldap_Node_RootDse_eDirectory.
![]() |
Nota |
|---|---|
Consulte Getting Information about the LDAP Serverpara obtener información sobre los atributos del RootDSE de Novell eDirectory. |
Tabla 41.12. API de Zend_Ldap_Node_RootDse_eDirectory
| Método | Descripción |
|---|---|
integer getServerType() |
Obtiene el tipo de servidor. Devuelve
Zend_Ldap_Node_RootDse::SERVER_TYPE_EDIRECTORY
|
boolean supportsExtension(string|array $oids) |
Determina si se admite la extensión. |
string|null getVendorName() |
Obtiene el vendorName. |
string|null getVendorVersion() |
Obtiene el vendorVersion. |
string|null getDsaName() |
Obtiene el dsaName. |
string|null getStatisticsErrors() |
Obtiene la estadística de servidor "errors". |
string|null getStatisticsSecurityErrors() |
Obtiene la estadística de servidor "securityErrors". |
string|null getStatisticsChainings() |
Obtiene la estadística de servidor "chainings". |
string|null getStatisticsReferralsReturned() |
Obtiene la estadística de servidor "referralsReturned". |
string|null getStatisticsExtendedOps() |
Obtiene la estadística de servidor "extendedOps". |
string|null getStatisticsAbandonOps() |
Obtiene la estadística de servidor "abandonOps". |
string|null getStatisticsWholeSubtreeSearchOps() |
Obtiene la estadística de servidor "wholeSubtreeSearchOps". |
Los siguientes métodos están disponibles en todas las subclases específicas de proveedor.
Zend_Ldap_Node_Schema incluye los accesores de propiedades mágicos
__get() y __isset() para acceder a los atributos por su
nombre. Delegan en Zend_Ldap_Node_Schema::getAttribute() y
Zend_Ldap_Node_Schema::existsAttribute() respectivamente.
__set() y __unset() también están implementados, pero lanzan
una BadMethodCallException, ya que no se permiten modificaciones en los nodos
RootDSE. Además, la clase implementa ArrayAccess para el
acceso a los atributos al estilo de array. offsetSet() y
offsetUnset() también lanzan una BadMethodCallException por
razones obvias.
Tabla 41.13. API de Zend_Ldap_Node_Schema
| Método | Descripción |
|---|---|
Zend_Ldap_Dn getDn() |
Obtiene el DN del nodo actual como un Zend_Ldap_Dn.
|
string getDnString(string $caseFold) |
Obtiene el DN del nodo actual como una cadena. |
array getDnArray(string $caseFold) |
Obtiene el DN del nodo actual como un array. |
string getRdnString(string $caseFold) |
Obtiene el RDN del nodo actual como una cadena. |
array getRdnArray(string $caseFold) |
Obtiene el RDN del nodo actual como un array. |
array getObjectClass() |
Devuelve el objectClass del nodo. |
string toString() |
Devuelve el DN del nodo actual - delega en
Zend_Ldap_Dn::getDnString().
|
string __toString() |
Convierte a representación en cadena - delega en
Zend_Ldap_Dn::toString().
|
array toArray(boolean $includeSystemAttributes) |
Devuelve una representación en array del nodo actual. Si
$includeSystemAttributes es FALSE
(por defecto TRUE), los atributos específicos del sistema se
eliminan del array. A diferencia de
Zend_Ldap_Node_Schema::getAttributes(), el
array resultante contiene el DN con la clave 'dn'.
|
string toJson(boolean $includeSystemAttributes) |
Devuelve una representación JSON del nodo actual usando
Zend_Ldap_Node_Schema::toArray().
|
array getData(boolean $includeSystemAttributes) |
Devuelve los atributos del nodo. El array contiene todos los atributos en su formato interno (sin conversión). |
boolean existsAttribute(string $name, boolean $emptyExists)
|
Comprueba si existe un atributo dado. Si
$emptyExists es FALSE, los atributos
vacíos (que contienen solo array()) se tratan como inexistentes, devolviendo
FALSE. Si $emptyExists es
TRUE, los atributos vacíos se tratan como existentes,
devolviendo TRUE. En este caso el método devuelve
FALSE solo si el nombre del atributo falta en la
colección de claves.
|
boolean attributeHasValue(string $name, mixed|array $value)
|
Comprueba si el/los valor(es) dado(s) existen en el atributo. El
método devuelve TRUE solo si todos los valores en
$value están presentes en el atributo. La comparación se
hace de forma estricta (respetando el tipo de dato).
|
integer count() |
Devuelve el número de atributos en el nodo. Implementa Countable. |
mixed getAttribute(string $name, integer|null $index)
|
Obtiene un atributo LDAP. Se aplica la conversión de datos usando
Zend_Ldap_Attribute::getAttribute().
|
array getAttributes(boolean $includeSystemAttributes)
|
Obtiene todos los atributos del nodo. Si
$includeSystemAttributes es FALSE
(por defecto TRUE), los atributos específicos del sistema se
eliminan del array.
|
array|integer getDateTimeAttribute(string $name,
integer|null $index)
|
Obtiene un atributo de fecha/hora LDAP. Se aplica la conversión de
datos usando Zend_Ldap_Attribute::getDateTimeAttribute().
|
Zend_Ldap_Node_Schema reload(Zend_Ldap $ldap)
|
Recarga los atributos del nodo actual desde el servidor LDAP dado. |
Zend_Ldap_Node_Schema create(Zend_Ldap
$ldap)
|
Método de fábrica para crear el nodo de Schema. |
array getAttributeTypes() |
Obtiene los tipos de atributo como un array de . |
array getObjectClasses() |
Obtiene las clases de objeto como un array de
Zend_Ldap_Node_Schema_ObjectClass_Interface.
|
Tabla 41.14. API de Zend_Ldap_Node_Schema_AttributeType_Interface
| Método | Descripción |
|---|---|
string getName() |
Obtiene el nombre del atributo. |
string getOid() |
Obtiene el OID del atributo. |
string getSyntax() |
Obtiene la sintaxis del atributo. |
int|null getMaxLength() |
Obtiene la longitud máxima del atributo. |
boolean isSingleValued() |
Devuelve si el atributo tiene un único valor. |
string getDescription() |
Obtiene la descripción del atributo |
Tabla 41.15. API de Zend_Ldap_Node_Schema_ObjectClass_Interface
| Método | Descripción |
|---|---|
string getName() |
Devuelve el nombre del objectClass. |
string getOid() |
Devuelve el OID del objectClass. |
array getMustContain() |
Devuelve los atributos que este objectClass debe contener. |
array getMayContain() |
Devuelve los atributos que este objectClass puede contener. |
string getDescription() |
Devuelve la descripción del atributo |
integer getType() |
Devuelve el tipo de objectClass. El método devuelve uno de los siguientes
valores:
|
array getParentClasses() |
Devuelve las clases de objeto padre de esta clase. Esto incluye clases de objeto estructurales, abstractas y auxiliares. |
Las clases que representan tipos de atributo y clases de objeto extienden
Zend_Ldap_Node_Schema_Item, que proporciona algunos métodos básicos para acceder a
atributos arbitrarios en el nodo LDAP subyacente.
Zend_Ldap_Node_Schema_Item incluye los accesores de propiedades mágicos
__get() y __isset() para acceder a los atributos por su
nombre. Además, la clase implementa ArrayAccess para el
acceso a los atributos al estilo de array. offsetSet() y
offsetUnset() lanzan una BadMethodCallException, ya que
no se permiten modificaciones en los nodos de información de esquema.
Tabla 41.16. API de Zend_Ldap_Node_Schema_Item
| Método | Descripción |
|---|---|
array getData() |
Obtiene todos los datos subyacentes del nodo de información de esquema. |
integer count() |
Devuelve el número de atributos en este nodo de información de esquema. Implementa Countable. |
Además, los métodos comunes anteriores se aplican a instancias de
Zend_Ldap_Node_Schema_OpenLDAP.
Tabla 41.17. API de Zend_Ldap_Node_Schema_OpenLDAP
| Método | Descripción |
|---|---|
array getLdapSyntaxes() |
Obtiene las sintaxis LDAP. |
array getMatchingRules() |
Obtiene las reglas de coincidencia. |
array getMatchingRuleUse() |
Obtiene el uso de reglas de coincidencia. |
Tabla 41.18. API de Zend_Ldap_Node_Schema_AttributeType_OpenLDAP
| Método | Descripción |
|---|---|
Zend_Ldap_Node_Schema_AttributeType_OpenLdap|null
getParent()
|
Devuelve el tipo de atributo padre en el árbol de herencia, si existe uno. |
Tabla 41.19. API de Zend_Ldap_Node_Schema_ObjectClass_OpenLDAP
| Método | Descripción |
|---|---|
array getParents() |
Devuelve las clases de objeto padre en el árbol de herencia,
si existe uno. El array devuelto es un array de
Zend_Ldap_Node_Schema_ObjectClass_OpenLdap.
|
![]() |
Exploración de esquema en servidores ActiveDirectory |
|---|---|
Debido a las restricciones en los servidores Microsoft ActiveDirectory sobre el número de entradas devueltas por las rutinas de búsqueda genéricas y debido a la estructura del repositorio de esquema de ActiveDirectory, la exploración del esquema actualmente no está disponible para los servidores Microsoft ActiveDirectory. |
Zend_Ldap_Node_Schema_ActiveDirectory no proporciona ningún
método adicional.
Tabla 41.20. API de Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory
Zend_Ldap_Node_Schema_AttributeType_ActiveDirectory
no proporciona ningún método adicional.
|
Tabla 41.21. API de Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory
Zend_Ldap_Node_Schema_ObjectClass_ActiveDirectory
no proporciona ningún método adicional.
|
Tabla 41.22. API de Zend_Ldif_Encoder
| Método | Descripción |
|---|---|
array decode(string $string)
|
Decodifica la cadena $string en un array de
elementos LDIF.
|
string encode(scalar|array|Zend_Ldap_Node
$value, array $options)
|
Codifica $value en una representación
LDIF. $options es un array que puede contener las
siguientes claves:
|
![[Note]](images/note.png)