IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Acl & Zend_Auth PHP Discussion :

Zend_auth Application Error [ZF 1.11]


Sujet :

Zend_Acl & Zend_Auth PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 118
    Par défaut Zend_auth Application Error
    Bonjour à tous,

    Après beaucoup de lectures de tutos sur Zend_auth, j'ai commencé à coder.

    Voila, je débute sur zf c'est la première fois que je fais de l'authentification et d'autant plus avec Zend .

    Quand je rafraîchis la page, cela me met An error occurred Application error.

    Voici mon code.

    Dans le controller:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    $username = $this->_request->getParam('username');
            $password = $this->_request->getParam('password');
             // Instanciation de la classe Zend_Auth
            $auth = Zend_Auth::getInstance();
     
            $config = new Zend_Config_Ini('../application/config/application.ini','ldap');
            $log_path = $config->ldap->log_path;
            $options = $config->ldap->toArray();
            unset($options['log_path']);
            // Paramètres LDAP
     
            // Définition de l'adaptateur d'authentification
                $adapter = new Zend_Auth_Adapter_Ldap($options,$username,$password);
                $resultat = $auth->authenticate($adapter);
     
            if (!$resultat->isValid()) {
                // Echec de l'authentification ; afficher pourquoi
                foreach ($resultat->getMessages() as $message) {
                    echo "$message\n";
                }
            } else {
                // Authentification réussie ; l'identité ($identifiant) est
                // stockée dans la session
                 $resultat->getIdentity() === $auth->getIdentity();
                 $resultat->getIdentity() === $username;
            }
     
        }
    le code de mon fichier conf:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    [production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    appnamespace = "Application"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.params.displayExceptions = 0
    phpSettings.date.timezone = "Europe/Paris"
    resources.db.adapter = "PDO_MYSQL"
    resources.db.params.host = "blabla"
    resources.db.params.username = "root"
    resources.db.params.password = "mdp"
    resources.db.params.dbname = "blabla"
    resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
     
     
     
     
    [staging : production]
     
    [testing : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
     
    [development : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    resources.frontController.params.displayExceptions = 1
    phpSettings.date.timezone = "Europe/Paris"
     
     
    [ldap]
    host = "adresse"
    useStartTls = true
    accountDomainName = "blabla"
    accountDomainNameShort = "blabla"
    accountCanonicalForm = 3
    username = "CN=blabla,DC=blabla,DC=blabla,DC=blabla"
    password = "Azerty12*"
    baseDn = "CN=blabla,DC=blabla,DC=blabla,DC=blabla"
    Apparemment, c'est mieux de mettre la config ldap dans un fichier. Et donc avant ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $config = new Zend_Config_Ini('../application/config/application.ini','ldap');
            $log_path = $config->ldap->log_path;
            $options = $config->ldap->toArray();
            unset($options['log_path']);
    j'avais mis cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $options = array(array(
                    'host' => 'adresse',
                    'accountDomainName' => 'blabla',
                    'accountDomainNameShort' => 'blabla',
                    'accountCanonicalForm' => 3,
                    'username' => 'uid='.$username.',CN=blabla,DC=blabla,DC=blabla,DC=blabla',
                    'password' => $password,
                    'baseDn' => 'CN=blabla,DC=blabla,DC=blabla,DC=blabla',
                    'bindRequiresDn' => false
                    ));

    l'erreur affichée était la suivante :


    Invalid credentials 0x31 (Invalid credentials; 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db0): uid=blabla,CN=blabla,DC=nsoblablac,DC=obiblablaane,DC=blablal host=adresse,accountDomainName=blabla.blabla.blabla,accountDomainNameShort=NSOC,accountCanonicalForm=3,username=uid=QKVX0524,CN=QKVX0524,DC=nsoc,DC=obiane,DC=local,password=*****,baseDn=CN=Users,DC=blabla,DC=blabla,DC=local,bindRequiresDn= blabla authentication failed: 0x31 (Invalid credentials; 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db0): uid=blabla,CN=blabla,DC=blabla,DC=blabla,DC=blabla.

    Le fichier conf est application.ini qui se trouve comme à l'habitude dans /application/config/application.ini.
    Je ne comprends absolument pas d'où vient l'erreur.
    J'espère que cela est compréhensif.
    J'ai lu pas mal de tutos mais soit ils ne sont pas complet ou il y a des erreurs, ou encore mal expliqués.
    Pourriez vous m'aider s'il vous plaît ?

    Merci d'avance.

    Cordialement,

  2. #2
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Bonjour,
    Ton problème est selon moi au niveau de ton application.ini.

    Les sections dans ce fichier sont normalement pour l'environnement mais admettons.

    Tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $config = new Zend_Config_Ini('../application/config/application.ini','ldap');
            $log_path = $config->ldap->log_path;
            $options = $config->ldap->toArray();
            unset($options['log_path']);
    Ton problème est au niveau de $config->ldap->toArray()

    Pour mettre ça, il faudrait que tu préfixe dans la section ldap toutes les variables par ldap.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 118
    Par défaut
    Bonjour Loïc,
    Tout d'abord merci de votre réponse.
    Faut il créer un autre fichier pour la conf ?

    Quand vous parlez de préfixe c'est cela ?

    ldap.host = "ip"
    ldap.useStartTls = 1
    ldap.accountDomainName = "accountDomainName "
    ldap.accountDomainNameShort = "accountDomainNameShort"
    ldap.accountCanonicalForm = 3
    ldap.username = "username "
    ldap.password = "password"
    ldap.baseDn = "baseDn "
    ldap.port = port

    Auriez vous un exemple s'il vous plaît ?

    Merci d'avance.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 118
    Par défaut
    Car en essayant comme cela avec le préfixe ldap
    Cela plante quand même

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 118
    Par défaut
    Dans mon fichier log :

    #0 /usr/local/zend/share/ZendFramework/library/Zend/Config/Ini.php(202): Zend_Config_Ini->_parseIniFile('/var/www/WebMRL...')
    #1 /usr/local/zend/share/ZendFramework/library/Zend/Config/Ini.php(126): Zend_Config_Ini->_loadIniFile('/var/www/WebMRL...')

    #2 /var/www/WebMRL/public/index.php(24): Zend_Application->__construct('production', '/var/www/WebMRL...')
    #3 {main}
    thrown in /usr/local/zend/share/ZendFramework/library/Zend/Config/Ini.php on line 182

    Quelqu'un peut m'aider s'il vous plaît ?
    Merci d'avance.

  6. #6
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Alors, je t'invite à préfixer comme tu l'a fait mais tu enlève la section ldap ([ldap]) puis au lieu de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Zend_Config_Ini(...)
    récupère l'instance que tu as du faire plus haut dans ton bootstrap

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.7] Application error lors d'un save()
    Par gostbuster dans le forum Zend_Db
    Réponses: 1
    Dernier message: 30/03/2009, 18h20
  2. Raise Application Error
    Par toony94 dans le forum SQL
    Réponses: 4
    Dernier message: 13/06/2008, 15h57
  3. Server Application Error
    Par naima2005 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 03/01/2008, 12h22
  4. [IIS 5.1] Server Application Error
    Par sami_c dans le forum IIS
    Réponses: 3
    Dernier message: 07/05/2007, 21h49
  5. Server Application Error
    Par __fabrice dans le forum ASP
    Réponses: 5
    Dernier message: 22/08/2005, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo