ldap_exop_passwd
(PHP 7 >= 7.2.0, PHP 8)
ldap_exop_passwd — Facilitador para operação estendida PASSWD
Descrição
LDAP\Connection
$ldap
,string
$user
= "",#[\SensitiveParameter] string
$old_password
= "",#[\SensitiveParameter] string
$new_password
= "",array
&$controls
= null
): string|bool
Realiza uma operação estendida PASSWD.
Parâmetros
ldap
-
Uma instância de LDAP\Connection, retornada por ldap_connect().
user
-
DN do usuário que terá a senha alterada.
old_password
-
A senha antiga do usuário. Pode ser omitida dependendo da configuração do servidor.
new_password
-
A nova senha deste usuário. Pode ser omitida ou vazia para geração de uma senha.
controls
-
Se fornecido, um contrlo de requisição de política de senhas é enviado com a requisição e esta variável é preenchida com um array de Controles LDAP retornados com a requisição.
Valor Retornado
Retorna a senha gerada se new_password
estava vazia ou foi omitida.
Caso contrário retorna true
em caso de sucesso ou false
em caso de falha.
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.
|
8.0.0 |
O parâmetro controls agora pode ser nulo; anteriormente, o padrão era [] .
|
7.3.0 |
Adicionado suporte a controls .
|
Exemplos
Example #1 Operação estendida PASSWD
<?php
$ds = ldap_connect("localhost"); // assumindo que o servidor LDAP é local
if ($ds) {
// faz ligação com o dn apropriado para dar acesso de atualização
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
if (!$bind) {
echo "Não foi possível fazer ligação com o servidor LDAP";
exit;
}
// usa a operação estendida PASSWD para mudar a senha do usuário por uma senha gerada
$genpw = ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", "secret");
if ($genpw) {
// usa a senha gerada para fazer ligação
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", $genpw);
}
// retorna a senha para "secret"
ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", $genpw, "secret");
ldap_close($ds);
} else {
echo "Não foi possível conexão com o servidor LDAP";
}
?>
Veja Também
- ldap_exop() - Realiza uma operação estendida
- ldap_parse_exop() - Interpreta o objeto de resultado de uma operação estendida LDAP