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

C# Discussion :

gestion de session


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Par défaut gestion de session
    Bonjour
    voila je dois créer une interface de Login qui se connecte à une base de donnée SQL pour ouvrir une session. J'ai réalisé l'interface graphique, mais j'ai des problèmes dans l'action du bouton ' Login'. Je ne sais pas comment faire la connection ni quoi mettre dans la base de donnée pour ouvrir une session
    pouvez vous m'aidez SVP

    Merci.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par défaut
    Bonjour,

    Tu devrais structurer ce que tu veux faire.

    Ta Login doit avoir deux TextBox, une pour le Login et l'autre pour le password. Un bouton Connecter, qui lance un traitement qui permet d'aller faire une requête dans la table qui contient tous les identifiants/password pour voir si c'est bon.

    C'est une explication simple (donc sans détails de ce que tu dois faire), il faut voir tes besoins et tes contraintes. Et pour faire les requêtes il y a des class dans le Framework qui permettent d'éviter les injections SQL, tu peux aller voir ensuite le système de Login et de gestion de session du Framework.
    Mais dans un premier temps voit pour faire la première partie en locale.

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Par défaut
    bon j'ai créer mon tableau sql avec trois columns "utilisateur_id", "usermane" et "password", j'ai réussit à faire le teste si le couple username et password existe dans la base de donnée mais je n'arrive pas à ouvrir ma session
    et voila le code source:

    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using System.Data.SqlClient;
    using System.Security;
     
    namespace WpfApplication1
    {
        /// <summary>
        /// Logique d'interaction pour MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
     
            private void textBox2_PasswordChanged(object sender, RoutedEventArgs e)
            {
     
            }
     
     
            public MainWindow()
            {
                InitializeComponent();
            }
     
     
     
     
            private void button1_Click(object sender, RoutedEventArgs e)
            {
     
     
                String pass = textBox2.Password;
     
                string connectionString = @"Server=SHAGGY-PC\SQLEXPRESS;Database=session;Trusted_Connection=True;";
     
                SqlConnection cnn = new SqlConnection(connectionString);
                SqlCommand cmd = new SqlCommand("Select * FROM [utilisateur] WHERE username ='" + textBox1.Text + "'and password ='" + pass + "'", cnn);
               try
                {
                    cnn.Open();
                    SqlDataReader re = cmd.ExecuteReader();
                    if (re.Read())
                    {
     
     
     
                        //ouvrir une session de l identité de l utilisatuer
     
     
     
     
     
        }
     
     
                    else
                    {
                        MessageBox.Show("accès refusé");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Can not open connection ! ");
                }
        }
     
            private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
            {
     
            }
        }
    }

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2010
    Messages : 316
    Par défaut
    je pense qu'il faut faire quelque chose comme cela :

    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
    protected void button1_Click(object sender, System.EventArgs e)
    		{
    			mEntreCompteState = new EntreCompteState();
    			Session["CodeUsager"] = usermane.Text; //ce ligne  recupere le code usager pour le fichier data
    			if (ValidateUser(usermane.Text, mpassword.Text) == true)
    			{
    						SavePageState();
                            Session["StatutUsager"] = "Existant";
                            Response.Redirect("vaTonFichierCompte.aspx");
    			}
    			else
    			{
    				mLebalMessage.Text = "Votre mot de passe n’est pas valide ou bien votre nom  ne correspond pas. Vérifiez-les s'il vous plaît.";
    			}
     
    		}
    ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    bool ValidateUser(string user, string password)
    		{
    		// requête dans la table....
     
    		return valid;
    		}

  5. #5
    Membre extrêmement actif

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Par défaut
    Quel type d'application? Web ou desktop?

    En tout cas ton code est tres sale et loin des bonnes pratiques (Google c# best practices). N'utilise jamqais directement les types, mais plutot "var". Par ailleurs ne met jamais ce type de code dans ta fenetre, ce code peut etre utilisé ailleurs, modifié par la suite, ou etre problématique en cas de changement de base de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String Username = txtUsername.Text;
    // Deviens
    var Username = txtUsername.Text; // Username est de type string car txtusername.Text est de type string
    Tu dois absolument créer une classe User du style:
    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
    class User
    {
    Guid ID { get; private set; }
    string Username { get; private set; }
    string Password { get; private set; }
     
    User Authenticate(string username, string password)
    {
    return yourDAL.Users.Where(u=> u.Username == username && u.Password = password);
    }
    }
     
    class YourApplication
    {
    void btnLoginClick(sender, e)
    {
    var user = User.Authenticate(txtUsername.Text, txtPassword.Text);
    if (user == null)
    {
    MessageBox.Show("Invalid username/password, please try again.");
    }
    }
    }
    Bon courage.

Discussions similaires

  1. [Cookies] Gestion de sessions
    Par sylk974 dans le forum Langage
    Réponses: 5
    Dernier message: 20/02/2006, 14h50
  2. [tomcat] gestion des sessions
    Par sebos63 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 12/10/2004, 14h25
  3. [Struts] Gestion de session
    Par Nuncyco dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/06/2004, 11h11
  4. [ STRUTS ] [ SESSION ] Pb gestion de sessions
    Par LoulouFifi dans le forum Struts 1
    Réponses: 4
    Dernier message: 30/03/2004, 16h38
  5. [JSP] Gestion de sessions
    Par orisis dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2004, 15h36

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