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

JavaScript Discussion :

[AJAX] Authentification en Ajax


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Par défaut [AJAX] Authentification en Ajax
    Salut tout le monde,

    Je n'arrive pas a trouver l'erreur mais apres avoir teste mon code, elle se trouve dans la boucle for.

    Ce code me permet de verifier si le username et le password sont corrects. Ceux ci se trouve dans un fichier xml. Donc je compare les inputs avec les nodes du fichier xml => authentification.


    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <html>
    <head>
    <script type='text/javascript'>
    function isEmpty(){
     
      	var xmlHttp;
    	if(window.XMLHttpRequest){ 
    		var xmlHttp = new XMLHttpRequest();
     
    	}
    	else if(window.ActiveXObject){ 
    		var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    	}
     
     
    	var strURL="suppliers.xml";
    	xmlHttp.open('POST', strURL, true);
    	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    	xmlHttp.onreadystatechange=processRequest;
    	xmlHttp.send(null);
     
    	function processRequest(){
     
    	if(xmlHttp.readyState==4 && xmlHttp.status==200){
     
          response     = xmlHttp.responseXML.documentElement;
          }
          }
     
     
          var suppliers=response.getElementsByTagName("supplier");
     
          count=suppliers.length;
     
          user = document.form.username.value;
    	  pass = document.form.password.value;
     
          for(int i=0;i<count;i++){      
     
          var username=suppliers[i].getElementsByTagName("username")[0].firstChild.nodeValue;
          var password=suppliers[i].getElementsByTagName("password")[0].firstChild.nodeValue;	
     
    	  if(username==user && password==pass){
    	  	var validationMessage=document.getElementById("validationMessage");
    		validationMessage.innerHTML = "Username and password right";
     
    	  }
    	  else
    	  {
    	  	var validationMessage=document.getElementById("validationMessage");
    		validationMessage.innerHTML = "incorrect username and password";
    		document.getElementById("submitForm").disabled = false;	  
    	  }
    	  }
     
    }
    </script>
     
    </head>
    <body>
     
    <form action="" method="post" name="form">
     
    	<fieldset>
    	<legend>Member Log In</legend>
    		<p>
               <label for="login_username">Username</label>
               <input id="username" name="username" type="text"/>
     
            </p>
            <p>
               <label for="login_password">Password</label>
               <input id="password" name="password" type="password" />
           </p>
           <p>
               <label for="login_type">Type</label><br>
               <input type="radio" name="type" value="client">Client<br>
               <input type="radio" name="type" value="provider" checked>Provider<br>
           </p>
           <input type="text" id="validationMessage"/>
               <input type="button" id="submitForm" onclick="isEmpty()" value="Log In" />
        </fieldset> 
     
    </form>
    </body>
    </html>
    fichier xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      <?xml version="1.0" encoding="utf-8" ?> 
    - <suppliers>
    - <supplier id="1010">
      <username>apex</username> 
      <password>apex</password> 
      <name>Apex Cables Limited</name> 
      <address>St john's Road, Meadowfield Industrial Estate, Durham City, England</address> 
      <phone>+44 (0)191 378 7900</phone> 
      </supplier>
     
    <supplier>........</supplier>

  2. #2
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Par défaut
    ca serait mieux si tu nous disais ou exactement, mets un alert à chaque ligne s'il faut, comme ca tu verras le dernier alert lancé

    Le mieux est quand même firebug si tu l'as pas encore.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Par défaut
    Merci pour votre aide. J'ai utilise alert et l'erreur se trouve a l'interieur de la boucle for.

    Je me demande si je peux effectuer une authentication a partir d'une base de donnees Access au lieu d'un fichier XML?

    Je n'en trouve pas un tel code. Merci d'avances.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 265
    Par défaut
    Avec un tel système tu donnes à qui veut les identifiants et mots de passe de tout le monde...

    Déjà un système d'authentification en javascript ne vaut rien, n'importe quel navigateur peut désactiver le javascript et donc passer outre cette protection.

    Ensuite en regardant simplement le code source de ta page on voit le fichier xml où sont stockées les informations...

    Si tu veux un vrai système d'authentification passe par un langage serveur ou par le système d'Apache si c'est ton serveur (IIS je connais pas).

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Par défaut
    je suis en train d'utiliser AJAX avec le langage serveur JSP mais je n'arrive pas a trouver comme ecrire un code de Login/Authentification + Base de donnees et non un fichier XML.

  6. #6
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut
    Bah déjà, installe une base de donnée.
    Malheureusement, JSP qui est plus rapide que l'ASP ou le PHP est beaucoup moins utilisé/répendu que ces 2 derniers. Du coup, je crains que tu ne trouves pas/peu de ressources style script prêt à surfer.

Discussions similaires

  1. [AJAX] authentification avec Ajax
    Par Neilime05 dans le forum AJAX
    Réponses: 4
    Dernier message: 26/10/2009, 10h45
  2. [AJAX] Authentification et AJAX
    Par kheraud dans le forum AJAX
    Réponses: 4
    Dernier message: 08/10/2009, 14h19
  3. [AJAX] Authentification en AJAX
    Par Invité dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 15/04/2008, 13h05
  4. [AJAX] Authentification en Ajax
    Par Identifiant dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 24/01/2008, 10h25
  5. [AJAX] Authentification PHP
    Par abys dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/09/2006, 13h43

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