GoLang ldap_exop_passwd

request it (317)
GoLang replacement for PHP's ldap_exop_passwd [edit | history]



Do you know a GoLang replacement for PHP's ldap_exop_passwd? Write it!

PHP ldap_exop_passwd

PHP original manual for ldap_exop_passwd [ show | php.net ]

ldap_exop_passwd

(PHP 7 >= 7.2.0)

ldap_exop_passwdPASSWD extended operation helper

Description

mixed ldap_exop_passwd ( resource $link [, string $user [, string $oldpw [, string $newpw [, array &$serverctrls ]]]] )

Performs a PASSWD extended operation.

Parameters

link

An LDAP link identifier, returned by ldap_connect().

user

dn of the user to change the password of.

oldpw

The old password of this user. May be ommited depending of server configuration.

newpw

The new password for this user. May be omitted or empty to have a generated password.

serverctrls

Return Values

Returns the generated password if newpw is empty or omitted. Otherwise returns TRUE on success and FALSE on failure.

Examples

Example #1 PASSWD extended operation

<?php
$ds 
ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {
    
// bind with appropriate dn to give update access
    
$bind ldap_bind($ds"cn=root, o=My Company, c=US""secret");
    if (!
$bind) {
      echo 
"Unable to bind to LDAP server";
      exit;
    }

    
// use PASSWD EXOP to change the user password for a generated one
    
$genpw ldap_exop_passwd($ds"cn=root, o=My Company, c=US""secret");
    if (
$genpw) {
      
// use the generated password to bind
      
$bind ldap_bind($ds"cn=root, o=My Company, c=US"$genpw);
    }

    
// set the password back to "secret"
    
ldap_exop_passwd($ds"cn=root, o=My Company, c=US"$genpw"secret");

    
ldap_close($ds);
} else {
    echo 
"Unable to connect to LDAP server";
}
?>

See Also