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 :

Authentification via login et mdp [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 202
    Points : 101
    Points
    101
    Par défaut Authentification via login et mdp
    Bonjour,
    Je suis débutant en ASP.net
    Je cherche à faire pour le moment une authentification de l'utilisateur et j'en suis là :

    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
            protected void BtnSubmit_Click(object sender, EventArgs e)
            {
                Authentifier(UserName.Text, Password.Text);
     
            }
            private void Authentifier(string strUtilisateur, string strMotDePasse)
            {
                DataTable dt = new DataTable();
     
                dt = executeQuery("SELECT * FROM Utilisateur WHERE login='" + strUtilisateur + "'");
     
     
     
     
            }
            public static DataTable executeQuery(string req) // Requête SQL
            {
                SqlConnection oSQLConn = new SqlConnection();
                oSQLConn.ConnectionString = ConfigurationManager.ConnectionStrings["DB_CRACQConnectionString"].ToString();
                SqlCommand cmd = new SqlCommand();
     
                cmd.CommandText = req;
                cmd.Connection = oSQLConn;
                oSQLConn.Open();
     
                DataTable dt = new DataTable();
                SqlDataReader dr = cmd.ExecuteReader();
                dt.Load(dr);
                oSQLConn.Close();
                return dt;
            }
        }
    Via la requête je récupère tout ce qui correspond au login entré par l'utilisateur mais je n'arrive pas à faire le nécessaire pour vérifier que son password correspond bien ...
    de l'aide sera la bienvenue
    merci à vous d'avance

  2. #2
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Tu cherches à réinventer la roue. ASP.NET fournit de base depuis au moins la version 2.0 (donc 2005) tous les mécanismes pour gérer l'authentification et les authorisations. Il existe en plus des articles sur Developpez qui présentent ASP.NET Membership, Profile, etc.

    Sans compter qu'ASP.NET te permet de créer toutes les tables SQL nécessaire, ou d'utiliser tes propres tables avec un Membership Provider personnalisé (il y a également un article là dessus).

    Je t'invite donc à consulter les différents articles. Si tu rencontres un problème dans leur mise en œuvre, n'hésite pas à revenir poster ici.

    En espérant t'avoir aidé.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 60
    Points : 100
    Points
    100
    Par défaut
    Ta réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "SELECT COUNT(Id) FROM Utilisateur WHERE login='" + strUtilisateur + "' and mdp='"+MDP+"'";
    et pour l’exécution de ta requête utilise la méthode ExecuteScalar appartenant à la classe SqlCommand

    si ta requête renvoi 0 c'est que le compte n'existe pas si 1 ben....si !
    bonne continuation

  4. #4
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Points : 4 574
    Points
    4 574
    Par défaut
    Bonjour,

    Je t'invite à suivre les conseils de Nicolas. Ta façon de faire n'est pas du tout la bonne, surtout quand il s'agit d'authentification.

    Citation Envoyé par Robotech Voir le message
    Ta réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "SELECT COUNT(Id) FROM Utilisateur WHERE login='" + strUtilisateur + "' and mdp='"+MDP+"'";
    et pour l’exécution de ta requête utilise la méthode ExecuteScalar appartenant à la classe SqlCommand

    si ta requête renvoi 0 c'est que le compte n'existe pas si 1 ben....si !
    bonne continuation
    Mon dieu !

    C'est un très mauvais conseil ça. Un utilisateur mal-intentionné peut en un rien de temps faire de l'injection SQL avec cette solution. Je vous invite à lire cet article sur les requêtes paramétrées pour mieux cerner les risques de ce genre de choses.

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par Jean-Michel Ormes Voir le message
    C'est un très mauvais conseil ça. Un utilisateur mal-intentionné peut en un rien de temps faire de l'injection SQL avec cette solution. Je vous invite à lire cet article sur les requêtes paramétrées pour mieux cerner les risques de ce genre de choses.
    Le principal problème reste tout de même le mot de passe en clair dans la requête
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  6. #6
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Le principal problème reste tout de même le mot de passe en clair dans la requête
    Sans parler de la ré-ré-réinvention de la roue

  7. #7
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Points : 4 574
    Points
    4 574
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Le principal problème reste tout de même le mot de passe en clair dans la requête
    Citation Envoyé par Nicolas Esprit Voir le message
    Sans parler de la ré-ré-réinvention de la roue
    Oui, je suis d'accord avec vous. Cela dit, autant lui insuffler tout de suite les bonnes habitudes.

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 60
    Points : 100
    Points
    100
    Par défaut
    Bonjour,

    Je suis inscrit à ce site depuis très peu de temps et j'ai déjà systématiquement vu des gens ne pas utiliser les requêtes paramétrés
    alors je préfères concentrer ma réponse sur la question et il manqué bien un count() pour que son code puisse fonctionner,
    maintenant je suis d'accord avec ce qui à été dit ,mais il n'est pas correct de dire que ma réponse n'est pas la bonne puisque sa question n’était pas sur le passage de paramètre

    En clair par rapport à nicolas j'ai juste debugé son code sans lui dire ce qu'il aurait du faire ou pas

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

Discussions similaires

  1. authentification squid par login et mdp
    Par berok37 dans le forum Réseau
    Réponses: 0
    Dernier message: 18/03/2011, 21h44
  2. Authentification via le login Windows
    Par biboup dans le forum ASP.NET
    Réponses: 28
    Dernier message: 05/08/2010, 17h02
  3. Accéder à une page web sans passer par login et mdp
    Par benthebest dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 21/07/2006, 01h04
  4. Authentification via un PDC pour samba
    Par illegalsene dans le forum Réseau
    Réponses: 6
    Dernier message: 05/07/2006, 16h35
  5. Authentification via un serveur LDAP
    Par jh0483 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 16/01/2006, 06h53

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