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 MVC Discussion :

Authentification par recherche d'utilisateur dans base de données


Sujet :

ASP.NET MVC

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 19
    Points : 6
    Points
    6
    Par défaut Authentification par recherche d'utilisateur dans base de données
    Bonjour à tous, je développe actuellement une application WEB sur ASP.NET en mode MVC (c'est la premiere fois que j'utilise Visual Studio, ASP.NET ou que je code en C# ou que j'utilise des bases de données )

    Mon problème est le suivant :

    Je travaille sur la partie connexion avec Username et Pwd pour acceder au contenu de mon application (avec dans le but plus tard de faire des restrictions en fonction des utilisateurs) et j'ai repris un template de d'authentification par formulaire avec Owin que j'ai trouvé ici :
    https://skalp.developpez.com/tutorie...-mvc-5/#Lno-IV

    Le problème est que la condition pour s'authentifier est "username==password" et je voudrais changer ça en quelque chose qui vérifie l'existence de Username et Password dans une base de données que j'ai déjà reussi à connecter dans mon dossier Models au préalable (la table t_user plus précisement). Il faudrait donc que ça me renvoie un bouléen.

    J'ai tout essayé mais j'ai l'impression que faire une recherche dans une BDD depuis une méthode dans un controller est compliqué

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            private bool ValidateUser(string login, string password)
            {
                // TODO : Insérer ici la validation des identifiant et mot de passe de l'utilisateur...
     
                return login == password;
            }

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 19
    Points : 6
    Points
    6
    Par défaut
    Je pensais avoir trouvé en utilisant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private bool ValidateUser(string login,string password)
            {
                // TODO : Insérer ici la validation des identifiant et mot de passe de l'utilisateur...
                ZCAI_FAI_DataEntities db = new ZCAI_FAI_DataEntities();
                var foo = db.t_user.Where(v => v.user_username == login && v.user_password == password);
     
                var fooCount = foo.Count();
                return fooCount >= 0;
     
            }

    Mais quand j'essaie de rentrer un exemple dans mon formulaire de login et de pwd existants je reçois l'erreur suivante :

    Exception Details: System.Data.Entity.Core.MappingException: The type 'Edm.Int32' of the member 'user_password' in the conceptual side type 'ZCAI_FAI_ProcessModel.t_user' does not match with the type 'System.String' of the member 'user_password' on the object side type 'OwinFormsAuthenticationTutorial.Models.t_user'.

    Source Error:

    Line 59: // TODO : Insérer ici la validation des identifiant et mot de passe de l'utilisateur...
    Line 60: ZCAI_FAI_DataEntities db = new ZCAI_FAI_DataEntities();
    Line 61: var foo = db.t_user.Where(v => v.user_username == login && v.user_password == password);
    Line 62:
    Line 63: var fooCount = foo.Count();


    Je précise que dans ma table t_user, user_password est de type nvarchar(50) donc String ... Et petite question : quand je fais une modification de type sur SQL Server Manager et que j'avais lié ma BDD sur ASP.NET ça met à jour automatiquement ?

  3. #3
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Points : 227
    Points
    227
    Par défaut
    Salut,

    essaye de terminer par Sinon essaye de passer par une requête linq :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (FROM s IN db.t_user
                    WHERE s.user_username  == login 
                    AND user_password == password
                    SELECT s).FirstOrDefault<Object>()

    Pour toi sauvegarder ta base de données avec Entity tu doit faire Sinon modifie ton modèle et ensuite tu met à jours ta base de données à partir de ton modèle.

    tu modifies ton model et ensuite avec la console du gestionnaire de package, tu tapes ceci :

    1. Enable-Migrations
    2. Add-Migration 'NomQueTuVeux'
    3. Update-Database

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 19
    Points : 6
    Points
    6
    Par défaut
    D'accord merci je vais essayer ça

Discussions similaires

  1. recherche dans base de donnée mysql
    Par alex01pernot dans le forum Bases de données
    Réponses: 13
    Dernier message: 03/05/2020, 15h50
  2. Réponses: 2
    Dernier message: 24/02/2009, 15h20
  3. Page web pour rechercher un utilisateur dans l'AD
    Par Camilleq dans le forum ASP
    Réponses: 3
    Dernier message: 06/04/2007, 11h48
  4. Réponses: 4
    Dernier message: 31/10/2006, 19h01
  5. Recherche dans base de données et casse
    Par laurentdusseau dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/10/2006, 10h05

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