Difficulté en code d'authentification

mezned Messages postés 7 Date d'inscription vendredi 4 février 2011 Statut Membre Dernière intervention 17 mai 2012 - 28 mars 2012 à 02:59
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 - 22 avril 2013 à 20:13
Salut tous le monde je suis entrain de chercher un code d'authentification en asp.net et j'ai trouvé sa mais j'ai pas compris cette partie
{{ Dim sqlPwd As String
sqlPwd = "select pwd from auth where pwd=txtMdp.txt"

Dim CurrentName As String
CurrentName = CStr(com.ExecuteScalar)

If CurrentName <> "" Then
Session("UserAuthentication") = username

Response.Redirect("equipements.aspx")
Else
Session("UserAuthentication") = ""
End If }}

15 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
29 mars 2012 à 11:00
Salut,

je commente ton code trouvé, ça t'aidera peut-être à le comprendre :
' je définis la requête en BDD qui va regarder si le password saisi existe
Dim sqlPwd As String 
sqlPwd = "select pwd from auth where pwd=" & txtMdp.txt
' j'exécute la requête en "scalar" pour ne récupérer que la 1ère colonne de la 1ère ligne
Dim CurrentName As String 
CurrentName = CStr(com.ExecuteScalar) 
' si j'ai trouvé quelque chose c'est que le password saisi existe en base
If CurrentName <> "" Then 
' j'enregistre donc le nom de l'utilisateur
Session("UserAuthentication") = username 
' je le redirige vers la page à laquelle il a maintenant droit
Response.Redirect("equipements.aspx") 
' si je n'ai rien trouvé c'est que le password n'est pas référencé
Else 
' j'enregistre le fait que je n'ai pas d'utilisateur authentifié
Session("UserAuthentication") = "" 
End If


Attention, il y'a beaucoup de soucis de sécurité dans ce code, mais maintenant tu sais ce qu'il fait ;)

Bon dev
0
Bonjour, Je suis en train de faire un logiciel d'authentification. j'ai créer un base de donnée et j'ai mis le code pour la connecté mais je n'arrive pas à lire les données sql pour que quand je tape le login et mot de passe ça fonctionne. Je vous met mon code :
rivate Sub Button1_Click_1(sender As System.Object, e As System.EventArgs) Handles Button1.Click 'connexion a la base de donnée
If TextBox1.Text "" And TextBox2.Text "" Then
MsgBox("connexion impossible !")
Else
Try

Dim connectionString As String = "Data Source=MICKO-PC\SQLEXPRESS;Initial Catalog=LogicielCGS;Integrated Security=True;"
Dim connection As SqlConnection = New SqlConnection(connectionString)

connection.Open()
Dim command As SqlCommand = New SqlCommand("SELECT login,mdp FROM utlisateurs WHERE login=" & TextBox1.Text & " and mdp=" & TextBox2.Text & ",connection")
command.Connection = connection
Dim reader As SqlDataReader = command.ExecuteReader
If reader.HasRows() Then
Me.Close()
Form2.Show()
Else
MsgBox("Identifiants incorrects!")
TextBox1.Text = ""
TextBox2.Text = ""
End If
reader.Close()
connection.Close()
Catch ex As Exception
MsgBox(ex.Message())
End Try
End If

End Sub

Pourriez vous m'aider ? Merci.
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
17 déc. 2012 à 09:44
Salut,

quelle est l'erreur exacte obtenue ?
0
une erreur de syntaxe
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
17 déc. 2012 à 17:12
J'aurais préféré le code erreur ainsi que le message exact.
Là je peux juste dire que l'erreur vient de ta requête, sans savoir si :
- ça vient d'un nom de champ ou de table incorrect (ex. utlisateurs),
- d'un paramètre erroné ou tendancieux (es. valeur de TextBox1.Text contenant des caractères spéciaux),
- ou simplement de quelques guillemets manquantes (tu n'en mets aucune dans ta requête alors que je suppose que tes deux champs sont des VARCHAR).
0
Voila l'erreur exacte : Syntaxe incorrecte vers ','
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
18 déc. 2012 à 09:33
T'as un problème de quote dans le constructeur de SqlCommand.
Les caractères en rouge sont de trop :
Dim command As SqlCommand = New SqlCommand("SELECT login,mdp FROM utlisateurs WHERE login=" & TextBox1.Text & " and mdp=" & TextBox2.Text & ",connection")
0
Cela me met un autre erreur : Nom de colonne non valide :'Rémy'
Nom de colonne non valide :'financierecgs'

c mon login et mot de passe
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
18 déc. 2012 à 13:27
yep, regarde mon message plus haut :

- ou simplement de quelques guillemets manquantes (tu n'en mets aucune dans ta requête alors que je suppose que tes deux champs sont des VARCHAR).


Il te manque les caractères en rouge :
Dim command As SqlCommand = New SqlCommand("SELECT login,mdp FROM utlisateurs WHERE login='" & TextBox1.Text & "' and mdp='" & TextBox2.Text & "'",connection)


Enfin, le plus propre serait quand même d'utiliser des SqlParameter.
0
Tout fonctionne correctement ! Je te remercie pour ton aide comme je débute avec le vb je ne connais pas tout. Merci encore
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
18 déc. 2012 à 17:56
De rien, on est là pour aider ;)
Par contre pense à noter une "réponse acceptée".
0
comment fait t'on cela ? c'est quelque chose a noté, a ajouter ?
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
19 déc. 2012 à 09:16
Sous les messages tu dois avoir un bouton "accepter la réponse", ou un truc du genre.
0
salm je un probleme dans sa code
comment quand on fait la conexion (login et password) nous le ramène à une autre page mais il ne faut pas retourner à l'ancienne page par flèche de retour en haut? comment faire ça avec asp.net(vb) dans mon code du session de sécurisation
Partial Class Administrateur
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim Conn As OleDbConnection
Conn = New OleDbConnection

Conn.ConnectionString = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\toshiba\Documents\Visual Studio 2010\WebSites\projet\App_Data\dakynus.accdb")


Conn.Open()
End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim requete, table, Login As String
Login = TextBox3.Text
requete = "SELECT inscription.Password FROM inscription WHERE (((inscription.Login)='" & Login & "'))"
table = "inscription"
se_connecter(requete, table)
End Sub

Dim ValisePassword As Boolean = False

Private Sub se_connecter(ByVal requete As String, ByVal table As String)
Dim base, passwordBD As String
'Chemin d'accès à la b.d. située dans le dossier bin

base = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\toshiba\Documents\Visual Studio 2010\WebSites\projet\App_Data\dakynus.accdb")



Dim conn As OleDbConnection = New OleDbConnection(base)
'ouverture de la base de donnée
conn.Open()
'Lien entre la base et la requête
Dim Liaison As New OleDbDataAdapter(requete, base)
Dim Memoire As New DataSet

'Charge la table en mémoire
Liaison.Fill(Memoire, table)

'Vérifie si la base de donnée contient juste le mot de passe et qu'elle ne soit pas vide
If ((Memoire.Tables(table).Select.Length) = 1) Then
'retourne le password de la table mise en mémoire
passwordBD = CType(Memoire.Tables(table).Rows(0).Item("Password"), String)
'Vérification du mot de passe
If passwordBD = TextBox1.Text Then
FormsAuthentication.SignOut()

Response.Redirect("reservation.aspx")
ValisePassword = True
ElseIf passwordBD <> TextBox1.Text Then
Label1.Text = ("Nom d'utlilisateur et Mot de passe incorrects,Veuillez réessayer")
ValisePassword = False



End If

End If
conn.Close()
End Sub


End Class
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
22 avril 2013 à 20:13
Salut,

utilise les balises [ code][ /code], là c'est illisible (déjà que le VB c'est lourdingue ...)
0
Rejoignez-nous