ConFoo 2025

ldap_exop_passwd

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop_passwdFacilitador para operação estendida PASSWD

Descrição

ldap_exop_passwd(
    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

Exemplo #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

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top