Club Informatique VINCI

Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Club Informatique VINCI

Le C.I.V représente un groupement d'étudiants constituant le club informatique de la Grande École Marocaine de l'Informatique et des Réseaux du Télécom VINCI -Rabat-. (L'utilisation de Internet explorer 6/7 n'est pas recommandée, on vous propose Firefox)

Les forums du C.I.V attend vos propositions en ce qui concerne le graphique, les catégories, et les sections.

Connexion

Récupérer mon mot de passe

Sondage

Quel est votre antivirus préféré ?
Service d'authentification Zend/Flex Bar_left16%Service d'authentification Zend/Flex Bar_right 16% [ 4 ]
Service d'authentification Zend/Flex Bar_left32%Service d'authentification Zend/Flex Bar_right 32% [ 8 ]
Service d'authentification Zend/Flex Bar_left0%Service d'authentification Zend/Flex Bar_right 0% [ 0 ]
Service d'authentification Zend/Flex Bar_left0%Service d'authentification Zend/Flex Bar_right 0% [ 0 ]
Service d'authentification Zend/Flex Bar_left0%Service d'authentification Zend/Flex Bar_right 0% [ 0 ]
Service d'authentification Zend/Flex Bar_left36%Service d'authentification Zend/Flex Bar_right 36% [ 9 ]
Service d'authentification Zend/Flex Bar_left0%Service d'authentification Zend/Flex Bar_right 0% [ 0 ]
Service d'authentification Zend/Flex Bar_left0%Service d'authentification Zend/Flex Bar_right 0% [ 0 ]
Service d'authentification Zend/Flex Bar_left8%Service d'authentification Zend/Flex Bar_right 8% [ 2 ]
Service d'authentification Zend/Flex Bar_left8%Service d'authentification Zend/Flex Bar_right 8% [ 2 ]

Total des votes : 25

Derniers sujets

» algorithme en langage C
Service d'authentification Zend/Flex EmptyJeu 28 Nov - 8:07 par arsenepoutsi

» CCNA version 4 français
Service d'authentification Zend/Flex EmptyDim 31 Mar - 15:15 par kadhouceeee

» Trés important " Livre exercices en langage C ( claude delannoy) "
Service d'authentification Zend/Flex EmptyJeu 27 Sep - 16:31 par latifa oustouh

» Ulead VideoStudio 11.5.0157.2 Plus + Crack Collection
Service d'authentification Zend/Flex EmptyJeu 26 Avr - 9:51 par miloduvi

» Langage IDL(Interface Definition Language)
Service d'authentification Zend/Flex EmptyMar 27 Sep - 13:02 par Abdelkhalek Bakkari

» demande cours PHP
Service d'authentification Zend/Flex EmptyJeu 2 Juin - 11:23 par elasriahmed

» exemple page web réaliser avec du html et JavaScript
Service d'authentification Zend/Flex EmptyLun 30 Mai - 4:05 par ouh.rouchan.zakaria

» cours group2_ 2année 2011
Service d'authentification Zend/Flex EmptyDim 20 Mar - 15:35 par El Maligno Angelo

» Cours : Infrastructures Réseaux 2003 Server
Service d'authentification Zend/Flex EmptyMar 15 Fév - 6:55 par jettjackson

» cours officiel de CCNA 2
Service d'authentification Zend/Flex EmptyMar 18 Jan - 13:53 par agares

Qui est en ligne ?

Il y a en tout 4 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 4 Invités

Aucun


[ Voir toute la liste ]


Le record du nombre d'utilisateurs en ligne est de 27 le Lun 3 Juin - 10:16

Statistiques

Nos membres ont posté un total de 1292 messages dans 373 sujets

Nous avons 437 membres enregistrés

L'utilisateur enregistré le plus récent est intellection

-20%
Le deal à ne pas rater :
-20% Récupérateur à eau mural 300 litres (Anthracite)
79 € 99 €
Voir le deal

2 participants

    Service d'authentification Zend/Flex

    El Maligno Angelo
    El Maligno Angelo
    Administrateur
    Administrateur


    Messages : 373
    Points : 6357
    Réputation : 8
    Date d'inscription : 25/04/2009
    Age : 35
    Localisation : ErRabat

    Service d'authentification Zend/Flex Empty Service d'authentification Zend/Flex

    Message par El Maligno Angelo Mer 4 Aoû - 2:27

    L’authentification permet d’identifier une personne au sein d’un système, afin de lui permettre de bénéficier de certains services, acquérir certaines informations, et effectuer les taches permises.
    Pour réaliser ce module, on aura besoin d’une table dans la base de données du système, qui contient, au moins, un champ login, un deuxième pour le mot de passe, et un troisième déterminant les privilèges de l’utilisateur. Et bien évidement d’autre champ pour les informations complémentaires sur l’utilisateur. (Nom, date de naissance…).
    Maintenant

    Code:


    CREATE TABLE IF NOT EXISTS `user` (
    `login` varchar(20) NOT NULL,
    `pwd` varchar(20) NOT NULL,
    `nom` varchar(50) NOT NULL,
    `prenom` varchar(100) NOT NULL,
    `email` varchar(100) NOT NULL,
    `tel` varchar(20) NOT NULL,
    `adresse` varchar(300) NOT NULL,
    `fonction` int(11) NOT NULL,
    PRIMARY KEY (`login`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;



    Maintenant c’est temps d’exploiter ces informations, à travers un script PHP, en utilisant les fonctionnalités de la classe zend_auth du ZF. Ce script, représente le service d’authentification dans le module.
    Pour utiliser zend_auth, il faut passer par ce qu’on appelle un adaptateur. Ce dernier permet de gerer un cas precis d’authentification ( notre cas : une base de données). Ici, on vas utiliser Zend_Auth_Adapter_DbTable.

    Avant d’appeler la méthode authenticate, qui permet l’authentification, il faut tout d’abord configurer l’adaptateur, en lui passant la connexion (instance d’un adaptateur de connexion avec une base de données), la table d’utilisateurs, la colonne du login, et celle du mot de passe.
    Ici,

    Code:
    $auth = new Zend_Auth_Adapter_DbTable($cn);
    $auth->setTableName('user')
    ->setIdentityColumn('login')
    ->setCredentialColumn('pwd');

    Ici, $cn c’est une instance de l’adaptateur Zend_Db_Adapter_Pdo_Mysql qui permet la connexion avec une base de données MySQL.
    Maintenant

    Code:
    $cn = new Zend_Db_Adapter_Pdo_Mysql(array(
    'host' => 'localhost',
    'username' => 'root',
    'password' => '0000',
    'dbname' => 'crm'
    ));

    Maintenant on a les bases d’utilisation, l’étape suivant c’est d’implémenter le code du service d’authentification en totalité.
    Donc, après avoir créé un projet ZF et flex, on ajoute une classe PHP (perspective php) LoginService.





    Notre service prend un nom d’utilisateur et un mot de passe et renvoi l’instance de l’utilisateur authentifié dans le cas positif, sinon il renvoi null.

    Dans le fichier on met le code suivant :

    Code:
    class LoginService {
    public function login($user,$pwd){
    $cn = new Zend_Db_Adapter_Pdo_Mysql(array(
      'host' => 'localhost',
      'username' => 'root',
      'password' => '0000',
      'dbname' => 'matprof' ));
    $auth = new Zend_Auth_Adapter_DbTable($cn);
    $auth->setTableName('user')
      ->setIdentityColumn('login')
      ->setCredentialColumn('pwd');
    $auth->setIdentity($user)
      ->setCredential($pwd);
    $result=$auth->authenticate();
    if($result->isValid()){
    return $auth->getResultRowObject();
    }else{
      return null;
    }
    }
    }

    En passe à la perspective Flash , en ouvre l’onglet service , pour qu'on ajoute un nouveau service.



    On choisi PHP, puis suivant. Dans la fenêtre suivant on choisi le fichier de classe qu’on vient de créer.



    Puis Entrer 2 fois.
    S’il y a déjà des services, c’est possible que Flash builder fait automatiquement ce travail des qu’on ajoute le fichier de classe PHP.
    Finalement on aura :



    Là on a besoin de spécifier les types utilisés.



    Pour les types d’entrée : string, string
    Pour le type de retour : User. (On n’a pas ce type !!)
    Pour créer ce type automatiquement, il suffit de créer un service en se basant sur la table user.



    Dans la fenêtre suivant on clique le lien, « cliquez ici pour générer un exemple ».
    Dans la fenêtre suivante, on remplie les champs avec les bonnes informations, puis on clique, « connexion à la base de données », on choisi la table user, puis touche entré 3 fois.



    Et c’est maintenant qu’on peut configurer les types.





    Maintenant on crée un formulaire simple pour passer les informations d’authentification.



    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
    <fx:Declarations>
    <!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). -->
    </fx:Declarations>
    <s:Panel x="290" y="154" width="367" height="200" fontFamily="Times New Roman" fontSize="13">
    <mx:Form x="45" y="9" width="269" height="124">
    <mx:FormItem label="Utilisateur">
    <s:TextInput id="txtUser"/>
    </mx:FormItem>
    <mx:FormItem label="Mot de passe">
    <s:TextInput id="txtPwd" displayAsPassword="true"/>
    </mx:FormItem>
    <mx:FormItem>
    <s:Button label="S'authentifier" id="button" click="button_clickHandler(event)" width="128" fontSize="14" fontWeight="normal" fontStyle="normal" textDecoration="none" lineThrough="false" color="#60655E"/>
    </mx:FormItem>
    </mx:Form>
    </s:Panel>
    </s:Application>

    On sélectionne le bouton, dans l’onglet des propriétés on lie le click avec l’appel du service.







    Maintenant il ne reste que le suivie de l’événement « valeur reçue du serveur », pour y arriver on modifie l’objet automatiquement créé, pour qu’il écoute l’événement souhaité.

    Code:
    <s:CallResponder id="loginResult" result="loginResult_resultHandler(event)"/>

    Puis on met le traitement dans la méthode loginResult_resultHandler.

    Code:
    protected function loginResult_resultHandler(event:ResultEvent):void
    {
    if((loginResult.lastResult)!=null){
    currentState="Membre";
    }else
    Alert.show("Nom d'utilisateur ou mot de passe incorrecte");
    }

    Pour que ce dernier code fonctionne, il faut avoir un état «Membre».

    Tous droits réservés. O.JMILI
    avatar
    naima
    Membre actif
    Membre actif


    Messages : 36
    Points : 5560
    Réputation : 1
    Date d'inscription : 04/05/2009

    Service d'authentification Zend/Flex Empty Re: Service d'authentification Zend/Flex

    Message par naima Lun 9 Aoû - 2:50

    cheers es interssant Smile

      La date/heure actuelle est Sam 27 Avr - 17:18