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

ASP.NET Discussion :

[VB.NET] Authentification Form qui rate.


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Par défaut [VB.NET] Authentification Form qui rate.
    Bonjour,

    J'ai mis l'authentification forms comme indiqué dans le tuto, cependant, je n'arrives pas à faire qu'un utilisateur soit "logué" Apparement, il y a un disfonctionnement au moment de se connecter dans la base. Voici le code en cause :

    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
    Private Sub valid_btn_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles valid_btn.Click
            'déclaration de la variable qui servira à vérifier le password
            If Logon_form.Value = "" Then
                Me.TextBox1.Visible = True
                Me.TextBox1.Text = "Le login est obligatoire."
            ElseIf Pass_form.Value = "" Then
                Me.TextBox1.Visible = True
                Me.TextBox1.Text = "Vous avez obligatoirement un password, merci de le saisir. "
            Else
                If Authentifier(Logon_form.Value, Pass_form.Value) Then
                    FormsAuthentication.RedirectFromLoginPage(Logon_form.Value, False)
                    Page.Response.Redirect("comer_acc.aspx")
                Else
                    Me.TextBox1.Visible = True
                    Me.TextBox1.Text = "Erreur d'authentification, l'utilisateur ou le mot de passe n'existent pas!"
                End If
            End If
        End Sub
     
        Private Function Authentifier(ByVal strUtilisateur As String, ByVal strMotDePasse As String) As Boolean
            Dim bOk As Boolean = False
            Try
                Dim oCommand As OleDb.OleDbCommand = New OleDb.OleDbCommand("SELECT Login, Nom, Nom_machine, Pasword, Prénom, Rang FROM Tab_logoncrea WHERE login= " + Logon_form.Value)
                Me.conex.Open()
                Dim drUtilisateur As OleDb.OleDbDataReader = oCommand.ExecuteReader()
                While drUtilisateur.Read()
                    If drUtilisateur("Pasword").ToString() = strMotDePasse Then
                        bOk = True
                    End If
                End While
            Catch generatedExceptionVariable0 As SystemException
                bOk = False
            End Try
            conex.Close()
            Return bOk
        End Function
    Mon appli ne passe jamais dans le while drutilisateur. Quelqu'un aurait-il une idée sur ce phénomène ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Par défaut
    j'ai rajouté un composant oledbcomand et j'ai modifié ma fonction comme suit, mais il me dit qu'il me manque des paramètres pour mon executereader:

    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
    Private Function Authentifier(ByVal strUtilisateur As String, ByVal strMotDePasse As String) As Boolean
            Dim bOk As Boolean = False
            Dim var As String 
            Try
                Me.command.CommandText = ("SELECT Login, Nom, Nom_machine, Pasword, Prénom, Rang FROM Tab_logoncrea WHERE login= " + Logon_form.Value)
                Me.conex.Open()
                Dim drUtilisateur As OleDb.OleDbDataReader = command.ExecuteReader()
                While drUtilisateur.Read()
                    If drUtilisateur("Pasword").ToString() = strMotDePasse Then
                        bOk = True
                    End If
                End While
            Catch generatedExceptionVariable0 As SystemException
                var = generatedExceptionVariable0.message
                bOk = False
            End Try
            conex.Close()
            Return bOk
        End Function

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 92
    Par défaut
    Tu n'as pas passé ta connexion à ta commande.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Par défaut
    Bah heu si sur le composant graphique y'en a une.

    CF le second code que j'ai donné :/

    Il me dit qu'il manque un paramètre, mais je ne vois pas lequel en fait :/

    J'ai fait ces changements :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.command.CommandText = ("SELECT Pasword FROM Tab_logoncrea WHERE login = " + Logon_form.Value)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Par défaut
    Le bon code était :

    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
    Private Function Authentifier(ByVal strUtilisateur As String, ByVal strMotDePasse As String) As Boolean
            Dim bOk As Boolean = False
            Dim var As String
            Try
                Me.command.CommandText = "SELECT Pasword FROM (Tab_logoncrea) WHERE (Login = '" + strUtilisateur + "')"
                Me.conex.Open()
                Dim drUtilisateur As OleDb.OleDbDataReader = Me.command.ExecuteReader()
                While drUtilisateur.Read()
                    If drUtilisateur("Pasword").ToString() = strMotDePasse Then
                        bOk = True
                    End If
                End While
            Catch generatedExceptionVariable0 As SystemException
                var = generatedExceptionVariable0.Message
                bOk = False
            End Try
            conex.Close()
            Return bOk
        End Function
    Changement majeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.command.CommandText = "SELECT Pasword FROM (Tab_logoncrea) WHERE (Login = '" + strUtilisateur + "')"
    Depuis quand on met des parenthèses pour la chaîne du commandtext ???
    Je suis vraiment trop bête !!!

    Merci à ceux qui se sont penché sur le sujet qu'ils aient posté ou non.

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

Discussions similaires

  1. [VB.NET]Form qui ne répond pas
    Par Pocel dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/07/2006, 10h42
  2. [VB.NET] Authentification Forms RedirectFromLoginPage
    Par cosmos38240 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/04/2005, 11h05
  3. [VB.NET] windows form traits
    Par DG JohnJohn dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/06/2004, 15h05
  4. [VB.NET] Authentification sur serveur mail ?
    Par Webman dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/05/2004, 19h24

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