Devo effettuare un autenticazione su un server remoto Windows IIS mediante protocollo ldaps da macchina windows 10 su cui girano dei servizi web e php.
Ho scritto lo script e l' errore che ottengo è:
Notice: Use of undefined constant LDAP_OPT_X_TLS_CACERTDIR - assumed 'LDAP_OPT_X_TLS_CACERTDIR' in C:\Apache24\htdocs\prenotazione_autobus\test_LDAP-Partenza-5.php on line 11
Warning: ldap_set_option() expects parameter 2 to be integer, string given in C:\Apache24\htdocs\prenotazione_autobus\test_LDAP-Partenza-5.php on line 11
Notice: Use of undefined constant LDAP_OPT_X_TLS_CACERTFILE - assumed 'LDAP_OPT_X_TLS_CACERTFILE' in C:\Apache24\htdocs\prenotazione_autobus\test_LDAP-Partenza-5.php on line 12
Warning: ldap_set_option() expects parameter 2 to be integer, string given in C:\Apache24\htdocs\prenotazione_autobus\test_LDAP-Partenza-5.php on line 12
Warning: ldap_connect(): Could not create session handle: Bad parameter to an ldap routine in C:\Apache24\htdocs\prenotazione_autobus\test_LDAP-Partenza-5.php on line 15
Warning: ldap_start_tls() expects parameter 1 to be resource, boolean given in C:\Apache24\htdocs\prenotazione_autobus\test_LDAP-Partenza-5.php on line 17
Warning: ldap_start_tls(): Unable to start TLS: Can't contact LDAP server in C:\Apache24\htdocs\prenotazione_autobus\test_LDAP-Partenza-5.php on line 26
Il mio codice è:
<?php
ldap_set_option(null, LDAP_OPT_X_TLS_CACERTDIR, '../Path/');
ldap_set_option(null, LDAP_OPT_X_TLS_CACERTFILE, '../Path/nome_certificcato.pem');
// either
$ldap = ldap_connect('ldaps://server:636');
ldap_start_tls($ldap);
$ldap="ldaps://server:636";
$usr="user";
$pwd="password";
$ds=ldap_connect($ldap);
$ldapbind=false;
if(ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3))
if(ldap_set_option($ds, LDAP_OPT_REFERRALS, 0))
if(ldap_start_tls($ds))
$ldapbind = @ldap_bind($ds, $usr, $pwd);
ldap_close($ds);
if(!$ldapbind)
echo "ERROR";
else
echo "OK";
?>