public function bind(string
$dn = null, #[\SensitiveParameter] string $password = null)
{ if (!
$this->connection
) { $this->
connect();
} if (false === @
ldap_bind($this->connection,
$dn,
$password)) { $error =
ldap_error($this->connection
);
switch (ldap_errno($this->connection
)) { case self::LDAP_INVALID_CREDENTIALS:
throw new InvalidCredentialsException($error);
case self::LDAP_TIMEOUT:
throw new ConnectionTimeoutException($error);
case self::LDAP_ALREADY_EXISTS:
throw new AlreadyExistsException($error);
} throw new ConnectionException($error);
} $this->bound = true;
}