Mot de passe (Formulaire sous Visual Basic )
Bonjour,
vous trouverez ci dessous un extrait de code de mon application ACB (Application Compte Bancaire) dédié a l'identification de deux utilisateurs avec login & mot de passe afin d'ouvrir l'application. Vous trouverez un formulaire qui regroupe une zone pour un nouvel utilisateur , Une zone pour changer son mot de passe. Je n'utilise pas de comparaison par textbox car cette méthode nécessite d'inscrire dans une ligne de code le mot de passe pré-défini , donc ne laisse pas le choix a l'utilisateur de choisir son MDP.
Les personnes peuvent au démarrage choisir leur banque et ainsi retrouver dans les différentes windowforms le logo de leur agence. Cette action n'a aucune interaction avec la définition du mot de passe ; C'est pour cela que vous ne trouverez pas de code dans cette rubrique.
La personne n'a pas encore entrer de mot de passe; il commence par choisir un utilisateur puis clique sur "Créer son MDP". Une Windowform apparaît afin de créer celui ci. Cette fenêtre sert aussi pour un utilisateur désirant changer son mot de passe.
Pour modifier son mot de passe, il suffit de cliquer sur le bouton; La fenêtre s'agrandie pour afficher les textbox. Il faut sélectionner son Utilisateur Usuel puis inscrire son ancien mot de passe. Le bouton de validation n'est accessible que si l'ancien MDP est valide, si tel est le cas, il vous reste plus qu'a rentrer votre nouveau MDP. A Default, un message d'erreur s'affiche.Une fenetre d'aide est disponible a partir du bouton "HELP"
Message d'erreur si l'ancien mot de passe n'est pas valide; Le bouton "Validation" n'est pas accessible
Le principe est d'enregistrer directement a la racine de votre projet (My settings) les mots de passe de chaque personne.Pour cet exemple, je n'ai que deux utilisateurs mais vous pouvez en avoir plusieurs. De ce fait ,Il vous faut ouvrir "My Project" dans l'explorateur de solution, Ouvrir l'onglet "Paramètres" et de créer "User1 (Utilisateur 1)& User2" dans la rubrique "Nom" de type string avec une portée "Utilisateur"
Voici toutes les lignes de codes nécessaires
Bonne lecture
Pour info: MDP = mot de passe
'Windowform1 renommé "Accueil"
'Aucune declaration de procedure pour l'ouverture de la page
Code ACB
Public Class Form1 'Premiere windowform lancer lors de l'ouverture du programme
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
'Declaration pour le combobox qui selectionne la banque(pas d'interaction avec la procedure pour le mot de passe,donc facultatif)
'au prealable ,il faudra positionné sur votre windowform un(e)picturebox qui recevra vos images present sur PC, de meme il faudra importer depuis les proprietes "Images" du picturebox,les differents logo choisi.Ceux ci seront placés dans la rubrique"recources" de votre projet.Nomé les images clairement afin de les trouver facilement.
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
If ComboBox1.Text = "Caisse d'epargne" Then
PictureBox1.Image = ACB.My.Resources.ecureuil 'ACB étant le nom de mon projet
Label4.Text = " de la Caisse d'Epargne" 'Affiche le nom de la banque suivant le logo choisi
Label2.ForeColor = Color.Red 'Personnalise la couleur de police suivant le logo choisi
'ces lignes de codes etant repetées a chaque logo!
End If
If ComboBox1.Text = "Credit Agricole" Then
PictureBox1.Image = ACB.My.Resources.Credit_agricole
Label4.Text = " du Credit Agricole"
Label2.ForeColor = Color.Green
End If
If ComboBox1.Text = "Credit Mutuel" Then
PictureBox1.Image = ACB.My.Resources.credit_mutuel
Label4.Text = "du Credit Mutuel"
Label2.ForeColor = Color.Red
End If
If ComboBox1.Text = "Credit du Nord" Then
PictureBox1.Image = ACB.My.Resources.credit_du_nord
Label4.Text = "du Credit du Nord"
Label2.ForeColor = Color.Blue
End If
If ComboBox1.Text = "Banque Postale" Then
PictureBox1.Image = ACB.My.Resources.banque_postale
Label4.Text = "de la Banque Postale"
Label2.ForeColor = Color.Blue
End If
If ComboBox1.Text = "Banque populaire" Then
PictureBox1.Image = ACB.My.Resources.banque_populaire
Label4.Text = "de la Banque Populaire"
Label2.ForeColor = Color.Blue
End If
If ComboBox1.Text = "Credit Lyonnais" Then
PictureBox1.Image = ACB.My.Resources.credit_lyonnais1
Label4.Text = "du Credit Lyonnais"
Label2.ForeColor = Color.Blue
End If
End Sub
'Code pour le Bouton "Creer ou changer le mot de passe"
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Form3.show()
End Sub
'Code pour le bouton "valider"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Verifie si un utilisateur a ete selectionné et que le mot de passe est bien inscrit,a defaut;une boite de message
informe l'utilisateur!
If ComboBox2.Text = "" Then
Label6.Text = "vous n'avez pas choisi un utilisateur!"
Label6.Visible = True 'Label recevant le message(non visible au depart)
ElseIf TextBox1.Text = "" Then
Label6.Text = "vous n'avez pas inscrit votre mot de passe!"
Label6.Visible = True
End If
programme s'ouvre.A default; Le message d'erreur est visible
If ComboBox2.Text = " Utilisateur1 " Then
ElseIf TextBox1.Text = My.Settings.User1 Then
Form2.PictureBox1.Image = Me.PictureBox1.Image
Form2.Show()
Me.Visible = False
Label6.Visible = False
Label9.Visible = False
Else
Label9.Visible = True
End If
If ComboBox2.Text = " Utilisateur2 " Then
ElseIf TextBox1.Text = My.Settings.User2 Then
Form2.PictureBox1.Image = Me.PictureBox1.Image
Form2.Show()
Me.Visible = False
Me.Visible = False
Label6.Visible = False
Label9.Visible = False
Else : Label9.Visible = True
End If
End Sub
End Class
'Code de la windowform gérant la création ou le changement du mot de passe
Public Class Form3
' Pas de déclaration pour L'ouverture de la page
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
'code pour le bouton de validation
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If ComboBox1.Text = "Utilisateur1" Then ' l’utilisateur 1 a ete sélectionné, Le mot de passe est enregistrer
My.Settings.User1 = TextBox2.Text 'Place la confirmation du MDP dans les proprietés du projet sous User1
My.Settings.Save() 'Sauvegarde les propriétés du projet
End If
If ComboBox1.Text = "Utilisateur2" Then 'Idem pour l’utilisateur 2
My.Settings.User2 = TextBox2.Text
My.Settings.Save()
End If
If TextBox1.Text = TextBox2.Text Then 'Compare les deux textbox(identique) pour validation du MDP
'Si les deux textbox sont identique ,Une boite de dialogue informe l'utilisateur de la validation
MsgBox("Enregistrement du mot de passe reussi!", MsgBoxStyle.Information, "Prog.infobyfc vous informe")
Me.Close() 'Ferme la fenêtre "création MDP"
Else 'sinon affiche une boite de dialogue prévenant l'utilisateur
MsgBox("Les mots de passe ne sont pas identiques!!", MsgBoxStyle.Critical, "Prog.infobyfc vous informe")
End If
End Sub
'Code pour le bouton "Changer le mot de passe"
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Width = 634 'Agrandi la fenetre afin de rendre visible la partie droite de la fenetre "changement..)
End Sub
'Code pour le bouton Validation, Renvoi les nouvelles valeurs dans la partie gauche de la fenetre afin que ceux ci soit enregistrer dans les proprietés
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
ComboBox1.Text = ComboBox2.Text 'Renvoi l'utilisateur choisi
TextBox2.Text = TextBox6.Text 'Renvoi le MDP dans "inscrire votre mot de passe"
TextBox1.Text = TextBox6.Text 'Renvoi le MDP dans "Confirmez votre mot de passe
Me.Width = 340 'Reduit la fenetre de droite cachant la partie "changer le.....)
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'code pour le bouton d'aide, Affiche une boite de dialogue expliquant le principe du Changement du MDP
MsgBox("Pour changer un mot de passe, Il faut commencer par selectionner votre utilisateur usuel puis inscrire votre ancien mot de passe.Cliquez sur la fenetre pour renseigner votre nouveau mot de passe.Enfin valider", MsgBoxStyle.Information, "Prog.infobyfc Vous Informe:")
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Me.Close()'Ferme la windowform
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Me.Close()'ferme la windowform
End Sub
Code servant a verifier si l'ancien MDP est exact, Rend le textbox Valide pour inscrire le nouveau MDP. ce code est
appliqué sur le textbox(nouveau MDP)avec la déclaration GotFocus ce qui permet quand le premier textbox perd le focus
et que le deuxieme textbox va le recevoir, d'aller vérifier si l'ancien MDP est correct.A défaut, le textbox et le bouton de validation sont invalide.
Private Sub TextBox6_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox6.GotFocus
If ComboBox2.Text = "Utilisateur1" Then 'combobox du choix utilisateur
If TextBox5.Text = TextBox3.Text Then 'compare les deux MDP
TextBox6.Enabled = True 'Rend valide le textbox afin d'inscrire le nouveau MDP
TextBox6.Focus()'Place le focus dans le textbox
Button3.Enabled = True'Rend le bouton "Validation" Valide
Label11.Visible = False'Masque le message d'erreur
Else
Label11.Visible = True 'Affiche le message d'erreur
TextBox5.Focus()'Replace le focus sur le textbox(ancien MDP)
TextBox5.Text = "" 'remet le textbox vide
End If
End If
If ComboBox2.Text = "Utilisateur2" Then 'Idem que pour l'utilisateur 1
If TextBox5.Text = TextBox4.Text Then
TextBox6.Enabled = True
TextBox6.Focus()
Button3.Enabled = True
Label11.Visible = False
Else
Label11.Visible = True
TextBox5.Focus()
TextBox5.Text = ""
End If
End If
End Sub
End Class
Voila, Vous avez tous les éléments pour créer Votre formulaire d'identification.
Bien a vous
francois COUTANT