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

Coldfusion Discussion :

authentification en coldfusion


Sujet :

Coldfusion

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut authentification en coldfusion
    bonjour a tous,

    je dois faire une simple authentification mais je ne sais pas comment faire mon test qui permet de vérifier si le mot de passe et le login sont correctes. Si quelqu'un peux m'aider sa serait super cool.

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Bonjour,

    Qu'appelles-tu simple authentification?

    Avec un nom d'utilisateur et un mot de passe?


    Dans ce cas, tu crées un formulaire contenant deux champs texte (username, password) et un bouton pour la soumission du formulaire.

    Dans ta page CFM, tu récuperes la valeur des champs username et password. Tu contrôles que le couple est correct...

    Voilà un début Envoie-nous ton code et on verra pour t'aider...
    Bien le bonjour chez vous
    Jowo

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    voila se que j'ai pour le moment:

    <table cellspacing="10" cellpadding="10" width="300" align="center" border="0">
    <tbody>
    <form action="authentification2.cfm">
    <tr>
    <td>Login</td>
    <td><input id="login" name="login" type="text" /></td>
    </tr>
    <tr>
    <td>Password</td>
    <td><input id="password" type="password" name="Password" /></td>
    </tr>
    <td><input type="submit" name="submit" value="Envoyer" /></td>
    </tbody>
    </table>


    <cfquery datasource="authentification" name="authentification">

    SELECT login,password FROM authentification WHERE login = "login" AND password = "password"

    </cfquery>

    <cfif login eq "login" && password eq "password">

    <cflocation url="authentification3.cfm">


    <cfelse>

    <cflocation url="authentification4.cfm">

    </cfif>

    c'est dans mon test ou ma requete que j'ai un souci je pense

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Mais ton code dans la balise code et indique dans quel fichier se trouve ton code...
    Bien le bonjour chez vous
    Jowo

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    page authentification 1
    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
    <table cellspacing="10" cellpadding="10" width="300" align="center" border="0">
    <tbody>
    <form action="authentification2.cfm">
    <tr>
    <td>Login</td>
    <td><input id="login" name="login" type="text" /></td>
    </tr>
    <tr>
    <td>Password</td>
    <td><input id="password" type="password" name="Password" /></td>
    </tr>
    <td><input type="submit" name="submit" value="Envoyer" /></td>
    </tbody>
    </table>
    page authentification 2 qui permet de vérifier login et mdp:

    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
    <cfquery datasource="authentification" name="authentification">
    
    SELECT login,password FROM authentification WHERE login = "login" AND password = "password"
    
    </cfquery>
    
    <cfif login eq "login" && password eq "password">
    
    <cflocation url="authentification3.cfm">
    
    
    <cfelse>
    
    <cflocation url="authentification4.cfm">
    
    </cfif>

  6. #6
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Il faut réfléchir et ne pas écrire n'importe quoi....

    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
    <cfparam name="FORM.login" default="">
    <cfparam name="FORM.password" default="">
    
    <!--- Sur que ta datasource se nomme  authentification ? --->
    <cfquery datasource="authentification" name="authentification">
      SELECT count(1) counter
        FROM authentification
      WHERE login = <cfqueryparam value="#FORM.login#" cfsqltype="CF_SQL_VARCHAR">
          AND password = <cfqueryparam value="#FORM.password#" cfsqltype="CF_SQL_VARCHAR">
    </cfquery>
    
    <cfif authentification.counter eq 1>
      <!--- Authentification réussie --->
      <cflocation url="authentification3.cfm">
    <cfelse>
      <cflocation url="authentification4.cfm">
    </cfif>
    CODE NON TESTÉ ET A ADAPTÉ SI NECESSAIRE

    PS: Toujours utilisé la balise "cfqueryparam pour éviter le "SQL Injection"
    Bien le bonjour chez vous
    Jowo

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    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
    <cfparam name="FORM.login" default="">
    <cfparam name="FORM.password" default="">
    
    <!--- Sur que ta datasource se nomme  authentification ? ---> 
    <cfquery datasource="authentification" name="authentification">
      SELECT count(1) counter
        FROM authentification
      WHERE login = <cfqueryparam value="#FORM.login#" cfsqltype="CF_SQL_VARCHAR">
          AND password = <cfqueryparam value="#FORM.password#" cfsqltype="CF_SQL_VARCHAR">
    </cfquery>
    
    <cfif authentification.counter eq 1>
      <!--- Authentification réussie --->
      <cflocation url="authentification3.cfm">
    <cfelse>
      <cflocation url="authentification4.cfm">
    </cfif>
    datasource: authentification est bien le nom que j'ai mis dans coldfusion
    sa ne marche toujour pas, quand je me conect je suis renvoyé sur authentification4 alors que le login et mdp son bon

    Je ne comprend pas cette partie de code : login = <cfqueryparam value="#FORM.login#" cfsqltype="CF_SQL_VARCHAR">
    elle sert a comparer les logins ??

  8. #8
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Citation Envoyé par benji54190 Voir le message
    [CODE]
    Je ne comprend pas cette partie de code : login = <cfqueryparam value="#FORM.login#" cfsqltype="CF_SQL_VARCHAR">
    elle sert a comparer les logins ??
    Oui, elle compare la valeur saisie par l'utilisateur et la valeur du champ "login" de la table "authentification".

    Sinon commente la partie de redirection "cflocation" et affiche les valeurs siasie ainsi que la valeur retournée par l'interrogation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <cfoutput>#FORM.login# #FORM.password# #authentification.counter#</cfoutput>
    et ajoute l'attribut method="post" à ton formulaire .
    Bien le bonjour chez vous
    Jowo

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    quand j'ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <cfoutput>#FORM.login# #FORM.password# #authentification.counter#</cfoutput>
    il me retourne bien toto et 0000 donc mon login et mon mot de passe
    mais que le mdp soit juste ou faux, sa passe tout le temps

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    c'est bon sa marche, merci bien. j'espere que se topic pourra aider des gens
    merci beaucoup

  11. #11
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Peux-tu nous indiquer où se situait le problème?
    Bien le bonjour chez vous
    Jowo

  12. #12
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    j'ai juste modifier un peu ton code

    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
    <cfparam name="FORM.login">
    <cfparam name="FORM.password">
    
    
    <cfquery datasource="authentification" name="authentification">
      SELECT login, password
        FROM authentification
      WHERE login = <cfqueryparam value="#FORM.login#">
          AND password = <cfqueryparam value="#FORM.password#">
    </cfquery>
    
    <cfif authentification.recordCount eq 1>
    
      <cflocation url="authentification3.cfm">
    <cfelse>
      <cflocation url="authentification4.cfm">
    </cfif>
    sa marche nikel,

    est il possible de bloquer l'acces aux pages suivants l'identification?
    pas très clair je sais.
    Sur la page ou on peut se loggué, si je change l'URL je peux acceder directement aux pages suivantes sans me logguer. Est il possible de bloquer sa? Qu'il faille impérativement se logguer pour acceder au reste?

  13. #13
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Il faut corriger ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <!--- L'attribut default est préférable --->
    <cfparam name="FORM.login" default="">
    <cfparam name="FORM.password" default="">
    Il faut toujours préciser le type des paramètres pour les cpqueryparam et il doit correspondre au type du champ de ta base de données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <cfquery datasource="authentification" name="authentification">
      SELECT login, password
        FROM authentification
      WHERE login = <cfqueryparam value="#FORM.login#" CFSQLType="CF_SQL_CHAR">
          AND password = <cfqueryparam value="#FORM.password#" CFSQLType="CF_SQL_CHAR">
    </cfquery>

    C'est une mauvaise habitude de ne pas renseigner certains attributs sur leurs valeurs.

    En CF, il faut traiter ce cas dans le fichier "Application.cfm".
    Bien le bonjour chez vous
    Jowo

  14. #14
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    merci pour l'infos. Je suis novice en coldfusion.
    C'est application.cfm que je dois modifier pour bloquer l'acces aux pages?

  15. #15
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    je comprend pas jowo, je vois du tout comment faire
    j'ai trouvé des tutos mais en php mais je vois pas comment utiliser des sessions en coldfusion.
    Je m'arrache les cheveux

  16. #16
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Pas besoin de s'arracher les cheveux, il existe de nombreux tutos en CF sur la gestion des sessions. C'est même plus simple que sous PHP....

    Avec ton CF, tu dois avoir installé aussi l'aide. Fais donc une recherche...

    Voici une piste...

    fichier: Application.cfm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <!--- A toi de cherche le code d'activation de la session voir balise cfapplication
    --->
    
    <cfif (not isDefined("session.loggedin") or session.loggedin eq false)>
      <cflocation url="<PAGE DU FORMULAIRE DE LOGIN>">
      <cfexit>
    </cfif>
    fichier: Traitement du formulaire de login
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <!--- si authentification OK --->
    <cfset session.loggedin = true>
    Bien le bonjour chez vous
    Jowo

  17. #17
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    le probleme est que je n'arrive pas a ouvrir application.cfm, quand je l'ouvre avec notepad sa donne rien.
    je dois modifier application.cfm ou faire appel a cette page??

    enfet voila se que j'ai fait sur cfapplication

    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
    <cfapplication name="test">
    <cfif not IsAuthenticated()>
    <cfset showLogin = "No">
    <cfif IsDefined("form.login") and IsDefined("form.password")>
    
    <cftry>
    <cfauthenticate SecurityContext="Orders"
    login="#form.login#"
    password="#form.password#"
    setCookie="YES">
    
    <cfcatch type="security">
    <h3>invalid Login</h3>
    <cfset showLogin="yes">
    </cfcatch>
    </cftry>
    </cfif>
    </cfif>

  18. #18
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Attention: relis la documentation de CF. La page "Application.cfm" doit respecter la casse. De même que le fichier "OnRequestEnd.cfm"

    * La page "Application.cfm" est appelé avant chaque appel d'une page de l'application.
    * La page "OnRequestEnd.cfm" est appelé après chaque fin de traitement d'une page (Voir les exceptions dues aux erreurs).

    Pour les nouvelles versions de CF, il existe la page Application.cfc (voir documentation CF).

    La programmation, ce n'est pas une loterie: donc on ne écrit pas une seule ligne au petit bonheur la chance.... Tout doit être compris et maîtrisé.
    Bien le bonjour chez vous
    Jowo

  19. #19
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Citation Envoyé par benji54190 Voir le message
    le probleme est que je n'arrive pas a ouvrir application.cfm, quand je l'ouvre avec notepad sa donne rien.
    je dois modifier application.cfm ou faire appel a cette page??

    enfet voila se que j'ai fait sur cfapplication

    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
    <cfapplication name="test">
    <cfif not IsAuthenticated()>
      <cfset showLogin = "No">
      <cfif IsDefined("form.login") and IsDefined("form.password")>
        <cftry>
          <cfauthenticate SecurityContext="Orders"
                          login="#form.login#"
                          password="#form.password#"
                         setCookie="YES">
          <cfcatch type="security">
            <h3>invalid Login</h3>
            <cfset showLogin="yes">
          </cfcatch>
        </cftry>
      </cfif>
    </cfif>
    la balise cfauthenticate est obsolète.

    Tu travailles avec quelle version de CF?

    Essai de remonter le niveau de debug pour que CF t'indique tous les warnings.
    Bien le bonjour chez vous
    Jowo

  20. #20
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    je sais que la programmation n'est pas une loterie mais j'essaye de comprendre,
    depuis se matin je comprend tout mais la je vois pas .
    Application.cfm je ne sais pas ou elle se trouve et de meme pour OnRequestEnd.cfm

    j'ai des livres de CF sous les yeux mais je galère bien
    c'est un nouveau langage de prog pour moi, j'en ai jamais fait et la je dois bosser car je suis en stage sur coldfusion

    personne ne ma apprit et je ne trouve pas de véritable bon tutos pour CF
    bloquer ses pages et la dernieres chose que j'ai a faire pour ojourd'hui, je dois rendre le projet dans moins de 1h
    CF sa me soule

    je suis sous coldfusion 8

Discussions similaires

  1. [TIdSMTP] Envoi d'un mail avec authentification ?
    Par BACUS dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/06/2004, 16h18
  2. [C#] Authentification sur les fichiers Pdf
    Par ensisoft dans le forum ASP.NET
    Réponses: 14
    Dernier message: 04/05/2004, 12h10
  3. [Débutant]Classe d'Authentification : compilation impossible
    Par acyclique dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/08/2003, 19h42
  4. Authentification Sécurisée
    Par HPJ dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 23/06/2003, 10h45
  5. [POSTGRES] pb configuration authentification
    Par Fyna dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 19/06/2003, 19h16

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