Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 51
  1. #1

    Confrontare USer e Pass su LDAP?

    Buon giorno, vorrei sapere cortesemente come mai ho questo errore e come risolvere...
    Codice PHP:
    Call to undefined function ldap_connect(); 
    Grazie mille....

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Probabilmente il php e' stato compilato/installato senza il supporto per l'estensione ldap.

  3. #3
    Vai nel file php.ini e togli il punto e virgola davanti l'estensione:
    Codice PHP:
    ;extension=php_ldap.dll 

  4. #4
    si in locale, l'ho fatto ma ovviamente dovrebbe essere fatto anche sul server di produzione.
    Una curiosità, come faccio a replicare un DB (chiamiamolo cosi) LDAP in locale?
    Grazie ancora....

  5. #5
    salve ragazzi, riprendiamo questo post dopo le festività :|
    Grazie a quanti mi daranno una mano

    Premetto che nella directory principale del sito ho un .htaccess settato in questo modo:
    Codice PHP:
    # AuthName "AZIENDA.IT Intranet"
    AuthType Basic
    AuthBasicProvider ldap
    AuthzLDAPAuthoritative off
    AuthLDAPURL ldap
    ://xxx.xxx.xxx.xxx/ou=Users,dc=AZIENDA,dc=IT?uid?sub?
    AuthName Temporary
    Require valid-user
    # Satisfy any 
    in pratica, funziona cosi:
    1) digito nella barra degli indirizzi l'url del sito intranet
    2) come invio, viene letto il file .htaccess e mi appare la richiesta attraverso "Require valid-user" di inserire User e Pass.
    3) dopo l'autenticazione entro nel sito intranet

    A questo punto vi chiedo:
    prima mi richiedeva l'autenticazione automaticamente, adesso voglio utilizzare un form.
    In pratica al posto di "Require valid-user" vorrei avere l'opportunità di loggarmi attraverso la pagina dove ho il form e non il classico input.

    Spero di essermi spiegato.
    Grazie ancora

  6. #6
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Si tratta semplicemente di fare 2 cose:

    1. Una ricerca con ldap_search per vedere se l'utente (che ti hanno passato nel form) esiste. Se true, vai al passo 2
    2. Un bind con ldap_bind, usando il rdn restituito dalla ricerca e la pass che ti arriva dal form. Se true, vuol dire che l'utente esiste, e la pass e' giusta. A questo punto l'utente e' loggato, scrivi la sessione, cookie, etc

    Sono convinto che su google troverai 10 mila esempi se ti servono.

  7. #7
    ciao e grazie per la risposta.
    Qualche curiosità:
    1) posso creare in locale un LDAP per prova?
    2) posso loggarmi da localhost, attraverso i parametri dell'.htaccess in intranet?

    grazie ancora....

  8. #8
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Originariamente inviato da ANTAGONIA
    ciao e grazie per la risposta.
    Qualche curiosità:
    1) posso creare in locale un LDAP per prova?
    2) posso loggarmi da localhost, attraverso i parametri dell'.htaccess in intranet?

    grazie ancora....
    1) Si, prendi qualsiasi server tra questi per il tuo sistema operativo. Poi come client, potresti usare phpldapadmin

    2) Si, se i firewall/route te lo permettono, puoi collegarti a qualsiasi directory remota.

  9. #9
    ciao ri-eccomi, ho visto sulla guida php.net questo script:
    Codice PHP:
    $ldap_url 'examplead.mycomp.com';
    $ldap_domain 'mycomp.com';
    $ldap_dn "dc=mycomp,dc=com";

    $ds ldap_connect$ldap_url );
    ldap_set_option($dsLDAP_OPT_PROTOCOL_VERSION3);
    ldap_set_option($dsLDAP_OPT_REFERRALS0);

    $username "your_user_name_here";
    //must always check that password length > 0
    $password "your_password_here";

    // now try a real login
    $login ldap_bind$ds"$username@$ldap_domain"$password );
    echo 
    '- Logged In Successfully

    '
    ;
    try{
    $attributes = array("displayname""mail",
    "department",
    "title",
    "physicaldeliveryofficename",
    "manager");
    $filter "(&(objectCategory=person)(sAMAccountName=$username))";

    $result ldap_search($ds$ldap_dn$filter$attributes);

    $entries ldap_get_entries($ds$result);

    if(
    $entries["count"] > 0){
    //echo print_r($entries[$i],1)."
    ";
    echo "
    [b]User Information:[/b]
    ";
    echo "
    displayName".$entries[0]['displayname'][0]."
    ";
    echo "
    email".$entries[0]['mail'][0]."
    ";
    echo "
    department".$entries[0]['department'][0]."
    ";
    echo "
    title".$entries[0]['title'][0]."
    ";
    echo "
    office".$entries[0]['physicaldeliveryofficename'][0]."
    ";
    //echo "
    manager".$entries[$i]['manager'][0]."
    ";
    $manager_result = ldap_search($ds,
    $entries[0]['manager'][0],
    '(objectCategory=person)',
    array("
    displayname"));

    $manager_entries = ldap_get_entries($ds$manager_result);
    if(
    $manager_entries["count"] > 0){
    echo "
    manager". $manager_entries[0]['displayname'][0];
    }
    }
    }catch(Exception 
    $e){
    ldap_unbind(
    $ds);
    return;
    }
    ldap_unbind(
    $ds);
    echo '

    - Logged Out'; 
    questo fa al caso mio?
    grazie ancora...

  10. #10
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Puoi sempre fare una prova per vedere se va bene

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.