ldap_exop
(PHP 7 >= 7.2.0, PHP 8)
ldap_exop — Realiza uma operação estendida
Descrição
LDAP\Connection
$ldap
,string
$request_oid
,string
$request_data
= null
,array
$controls
= null
,string
&$response_data
= ?,string
&$response_oid
= ?): mixed
Realiza uma operação estendida no ldap
especificado com
o OID da operação em request_oid
e os dados em
request_data
.
Parâmetros
ldap
-
Uma instância de LDAP\Connection, retornada por ldap_connect().
request_oid
-
O OID da requisição de operação estendida. Pode-se usar uma das constantes
LDAP_EXOP_START_TLS
,LDAP_EXOP_MODIFY_PASSWD
,LDAP_EXOP_REFRESH
,LDAP_EXOP_WHO_AM_I
,LDAP_EXOP_TURN
ou uma string com o OID da operação que deseja-se enviar. request_data
-
Os dados da requisição de operação estendida. Pode ser NULL para algumas operações como
LDAP_EXOP_WHO_AM_I
, e pode ser necessário ser codificado com BER. controls
-
Array de Controles LDAP que são enviados com a requisição.
response_data
-
Será preenchido com os dados de resposta da operação estendida se fornecido. Se não fornecido, pode-se utilizar ldap_parse_exop no objeto de resultado mais tarde para obter estes dados.
response_oid
-
Será preenchido com o OID da resposta se informado, geralmente igual ao OID da requisição.
Valor Retornado
Quando usado com response_data
, retorna true
em caso de sucesso ou false
em caso de erro.
Quando usado sem response_data
, retorna um identificador de resultado ou false
em caso de erro.
Registro de Alterações
Versão | Descrição |
---|---|
8.1.0 |
O parâmetro ldap agora espera uma instância de LDAP\Connection;
anteriormente, um resource ldap link válido era esperado.
|
7.3.0 |
Adicionado suporte para controls .
|
Exemplos
Example #1 Operação estendida 'Whoami'
<?php
$ds = ldap_connect("localhost"); // assumindo que o servidor LDAP é local
if ($ds) {
// faz ligação com dn apropriado para acesso de atualização
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
if (!$bind) {
echo "Não foi possível ligar ao servidor";
exit;
}
// Chama a operação estendida WHOAMI
$r = ldap_exop($ds, LDAP_EXOP_WHO_AM_I);
// Interpreta o objeto de resultado
ldap_parse_exop($ds, $r, $retdata);
// Mostra: string(31) "dn:cn=root, o=My Company, c=US"
var_dump($retdata);
// O mesmo usando $response_data parameter
$success = ldap_exop($ds, LDAP_EXOP_WHO_AM_I, NULL, NULL, $retdata, $retoid);
if ($success) {
var_dump($retdata);
}
ldap_close($ds);
} else {
echo "Não foi possível conectar ao servidor LDAP";
}
?>
Veja Também
- ldap_parse_result() - Extrai informação de resultado
- ldap_parse_exop() - Interpreta o objeto de resultado de uma operação estendida LDAP
- ldap_exop_whoami() - Facilitador para operação estendida WHOAMI
- ldap_exop_refresh() - Facilitador para operação estendida REFRESH
- ldap_exop_passwd() - Facilitador para operação estendida PASSWD