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

ADO.NET Discussion :

IDbConnection - disparition mot de passe


Sujet :

ADO.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Points : 103
    Points
    103
    Par défaut IDbConnection - disparition mot de passe
    J'essaye de créer un composant d'accès aux données indépendant du SGBD (.net framework 2).

    Pour cela j'utilise IDbConnection et IDataAdapter.
    J'ai une classe DB qui se connecte à la base de donnée grâce à IDbConnection et contient une méthode getDataTable(string sqlCommand) qui comme son nom l'indique permet de renvoyer un datatable en fonction de la requête envoyée en paramètre.

    Dans le constructeur de ma classe, aucun problème, ma connexion "con" est correctement initialisée et contient notamment le mot de passe de connexion à la base.

    Mais problème, lorsque j'essaye d'appeler ma méthode getDataTable() après avoir instancié ma classe visual studio me renvoie une erreur m'indiquant que les informations de connection à la base ne sont pas correctes. Et effectivement lorsque je passe ça au debugger je me rend compte que la chaine de connexion con.ConnectionString est presque complète... presque car le mot de passe a disparu ! Comment puis-je récupéré celui-ci ou encore mieux empêcher sa disparition mystérieuse ?

    Merci

    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
     
    public class DB
        {
            private IDbConnection con;
            private IDataAdapter adapt;
            private DataSet ds;
     
            public DB(String conStr, String dataProvider)
            {
                //Mot de passe ok
                con = DBFactory.ConnectionFactory(dataProvider, conStr); 
            }
     
            public void Open()
            {
                con.Open();
            }
     
            public void Close()
            {
                con.Close();
            }
     
            public IDbConnection Con
            {
                get { return con; }
            }
     
            public DataTable getDataTable(string sqlCommand)
            {
                DataTable dt = new DataTable();
     
                //Le mot de passe a disparu de la chaine de connection
                adapt = DBFactory.DataAdapterFactory("SqlClient", con.ConnectionString, sqlCommand);
     
                ds = new DataSet();
                adapt.Fill(ds);
                dt = ds.Tables[0];
     
                return dt;
            }
        }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je ne comprends pas ta chaîne de connexion tu la récupères via ton fichier de ton configuration ?

    si oui, regardes bien si tu y as mis le mot de passe.

    si non, il est recommandé de stocker les chaînes de connexion dans les fichiers de configuration.

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    regarde aussi du côté de "sécurity persistant info=yes", je ne sais pas si c'est cela l'orthographe.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par h2s84 Voir le message
    Je ne comprends pas ta chaîne de connexion tu la récupères via ton fichier de ton configuration ?
    Oui, ma chaîne de connection est bien stockée dans dans mon app.config dans la section connectionStrings prévu à cet effet. Je pouvais bien sur la récupérer à nouveau dans le app.config mais je ne trouvais pas ça terrible de devoir chaque fois relire le fichier de config à chaque "perte" du mot de passe...

    Citation Envoyé par WOLO Laurent
    regarde aussi du côté de "sécurity persistant info=yes", je ne sais pas si c'est cela l'orthographe.
    Merci pour le renseignement, ca fonctionne parfaitement. Pour info la syntaxe exacte est : persist security info=true. Apparemment Microsoft conseille pour des raison de sécurité de laisser ça en false (Security guidelines) mais vu que le mot de passe est dans le app.config la sécurité n'est déjà pas très fiable donc au point ou j'en suis

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Oui, je sais que ce n'est pas une bonne pratique, mais vu que ...
    Je te conseillerais d'utiliser Entreprise Library Data block qui est très élaboré et inteègre les best practices.

    Merci aussi de côturer le poste en marquant réolu.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 182
    Points : 103
    Points
    103
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    Je te conseillerais d'utiliser Entreprise Library Data block qui est très élaboré et intègre les best practices.
    Je ne connaissais pas, mais ca m'a l'air très intéressant en tout cas. Je vais regarder ça un peu plus en profondeur

  7. #7
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Merci de clôturer ce poste.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

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

Discussions similaires

  1. [phpMyAdmin] [phpMyAdmin] Problème mot de passe Root !
    Par StouffR dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 26/09/2014, 11h59
  2. [PostgresSQL]Pb accés des utilisateurs sans mot de passe
    Par woodwai dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 22/05/2003, 16h06
  3. [VB6] [ADO] [Access] Changer le mot de passe
    Par dlpxlid dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/03/2003, 09h45
  4. Réccupération du mot de passe d'une connexion
    Par zinaif dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/12/2002, 18h32
  5. Au sujet des mots de passe
    Par FranT dans le forum Langage
    Réponses: 6
    Dernier message: 17/09/2002, 22h16

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