note 124188 added to function.ldap-bind
| From: | Victor@php.net | Date: | Wed, 11 Sep 2019 10:42:59 +0000 |
| Subject: | note 124188 added to function.ldap-bind | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-212170@lists.php.net to get a copy of this message | ||
(Correction)
ldap_bind does return TRUE if the password is expired or needs to be reset, use ldap_get_option if
ldap_bind returns FALSE
<?php
define("EXPIRED_PASSWORD", 532);
define("PASSWORD_RESET", 773);
$handle = ldap_connect('ldap://active.directory.server/');
$bind = ldap_bind($handle, 'user', 'expiredpass');
if (!$bind) {
if (ldap_get_option($handle, LDAP_OPT_DIAGNOSTIC_MESSAGE, $extended_error)) {
$errno = explode(',', $extended_error)[2];
$errno = explode(' ', $errno)[2];
$errno = intval($errno);
if ($errno === EXPIRED_PASSWORD) {
$err = 'Unable to login: Password expired';
} else if ($errno === PASSWORD_RESET) {
$err = 'Unable to login: Password needs to be reset';
} else {
$err = $extended_error;
}
if ($errno === EXPIRED_PASSWORD || $errno === PASSWORD_RESET) {
#Change password
}
}
}
?>
----
Server IP: 208.43.231.9
Probable Submitter: 185.85.3.195 (proxied: 213.41.82.114)
----
Manual Page -- http://php.net/manual/en/function.ldap-bind.php
Edit -- https://master.php.net/note/edit/124188
Del: integrated -- https://master.php.net/note/delete/124188/integrated
Del: useless -- https://master.php.net/note/delete/124188/useless
Del: bad code -- https://master.php.net/note/delete/124188/bad+code
Del: spam -- https://master.php.net/note/delete/124188/spam
Del: non-english -- https://master.php.net/note/delete/124188/non-english
Del: in docs -- https://master.php.net/note/delete/124188/in+docs
Del: other reasons-- https://master.php.net/note/delete/124188
Reject -- https://master.php.net/note/reject/124188
Search -- https://master.php.net/manage/user-notes.php