Facilitador para operação estendida PASSWD

# ldap_exop_passwd

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop_passwd — Facilitador para operação estendida PASSWD

### Descrição

function 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

- ldap_exop() - Realiza uma operação estendida
- ldap_parse_exop() - Interpreta o objeto de resultado de uma operação estendida LDAP

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open