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 :

Executer requete + Récupérer valeur du Membership


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut Executer requete + Récupérer valeur du Membership
    Bonsoir,

    Je me pose 2 questions qui sont différentes.

    Pour afficher un résultat d'une requête j'ai fait comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    string connString = "Data Source=PIERRE-PC;Initial Catalog=guitarox;Persist Security Info=True;User ID=sa;Password=pierre";
            using (SqlConnection cnSQL = new SqlConnection(connString))
            {
                SqlCommand cmdSQL = new SqlCommand();
                cmdSQL = cnSQL.CreateCommand();
                cmdSQL.CommandText = "select * from contenu";
                SqlDataAdapter sqlDA = new SqlDataAdapter();
                sqlDA.SelectCommand = cmdSQL;
                System.Data.DataSet ds = new System.Data.DataSet();
                sqlDA.Fill(ds);
                //Affichage du résultat
                Label2.Text = ds.Tables[0].Rows[0][1].ToString();
            }
    Cependant maintenant je souhaite faire une requête insert ou delete par exemple. Comment cela se passe-t-il? Je dois utiliser ExecuteQuery? Si oui je dois mal le faire.


    Par ailleurs, j'utilise un CreateUserWizzard pour créer mes utilisateurs. J'aimerais faire une requête sur la table aspnet_Membership et récupérer les identifiants, mot de passes etc... Sauf que ces derniers sont automatiquement cryptés avec le CreateUserWizzard. Comment dois-je faire pour les récupérer sous forme décrypté?

    Merci


    edit : autre petite question : dans le code affiché au dessus, si je souhaite remplacer la requete
    par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from contenu where contenu="+ label1.text
    Il bloque sur la ligne
    Cela ne marche pas de la même façon?

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Pas mal de réponse ici: http://dotnet.developpez.com/faq/asp...=adonetrequete

    Sinon, pour faire une requete sur un champ texte il faut des quotes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from contenu where contenu= '"+ label1.text + "';"
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    Par ailleurs, j'utilise un CreateUserWizzard pour créer mes utilisateurs. J'aimerais faire une requête sur la table aspnet_Membership et récupérer les identifiants, mot de passes etc... Sauf que ces derniers sont automatiquement cryptés avec le CreateUserWizzard. Comment dois-je faire pour les récupérer sous forme décrypté?
    Pour répondre a cette question... Il ne faut pas accéder a menbership en direct...


    Suffit d'utiliser membership.getallusers... ou getalluseronline..

    Tout est dans msdn..

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Merci

    Pour récupérer les informations du Membership ça fontionne, sauf pour récupérer le mot de passe. Voilà comment je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     string nom, mdp, questionmdp;
                DateTime dateenreg;
     
                nom = Membership.GetUserNameByEmail(CreateUserWizard1.Email);
                questionmdp = Membership.GetUser(nom).PasswordQuestion;
                mdp = Membership.GetUser(nom).GetPassword(questionmdp);
                dateenreg = Membership.GetUser(nom).CreationDate;

    Ca bloque sur la ligne ou je récupère le mdp :

    L'exception NotSupportedException n'a pas été gérer par le code utilisateur.
    Ce fournisseur d'appartenances n'a pas été configuré pour prendre en charge la récupération du mot de passe.

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 493
    Par défaut
    Je pense que la majorité des MembershipProvider refuseront le "GetPassword" car cela serait un énorme trou de sécurité.
    Généralement, les MembershipProvider utilisent des fonctions de hash pour vérifier un mot de passe.
    Ils utilisent cette fonction en prenant le password fourni, font un calcul non réversible avec et comparent le résultat avec le résultat sauvegardé en base.
    Ainsi, si un pirate obtient la base de données, il n'aura aucun moyen de trouver les mots de passe, sauf en utilisant un attaque par brute force (essayer de tous les mots de passe possible) ou trouver une faille dans le caractère non réversible de la fonction de hash.

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Par défaut
    Ok, merci

    Je ne peux donc pas récupérer le mot de passe? Car mon but était de faire une lien du genre "mot de passe oublié" et de renvoyer par email le mot de passe de l'utilisateur.

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 493
    Par défaut
    Généralement, les MembershipProvider ont tendances à privilégier les questions/réponses pour réinitialiser les mots de passe, ou de régénérer les mots de passe et les envoyer par emails.
    Ces approches permettent d'avoir le même confort d'utilisation tout en étant bien plus sûr.

  8. #8
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Citation Envoyé par piero53 Voir le message
    Je ne peux donc pas récupérer le mot de passe? Car mon but était de faire une lien du genre "mot de passe oublié" et de renvoyer par email le mot de passe de l'utilisateur.
    La bonne pratique quand l'utilisateur a oublié son mot de passe, c'est de lui réaffecter un mot de passe bidon, que tu génères automatiquement, et de lui renvoyer...sinon, potentiellement, si quelqu'un a accès a la boite mail de l'utilisateur, il peut connaitre son mot de passe, et vu que statistiquement, on utilise toujours le meme mot de passe...c'est mal

    De toute façon, même le mot de passe ne devrait pas etre stocké en clair, mais hashé, salté, et stocké comme ca dans la base

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

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

Discussions similaires

  1. Récupérer valeur d'une sous requete, possible ?
    Par eleve_prog dans le forum Langage SQL
    Réponses: 8
    Dernier message: 02/04/2011, 09h13
  2. [AC-2003] Récupérer valeur d'une requete
    Par letonton dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/12/2010, 12h11
  3. Réponses: 1
    Dernier message: 06/08/2010, 15h31
  4. [MySQL] Utilisation des valeur choix multiple pour executer une requete une valeur a la fois
    Par guigui69 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 26/12/2007, 16h43
  5. [BDD] récupérer valeurs de requete
    Par Commodore dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/08/2007, 14h04

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