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

Entity Framework Discussion :

Définir les données sensibles de la chaîne de connexion dans le code


Sujet :

Entity Framework

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé de projets informatiques
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Chargé de projets informatiques
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Définir les données sensibles de la chaîne de connexion dans le code
    Bonjour tout le monde !

    Pour une application que je développe sous Visual Studio 2013, j'utilise Entity Framework 6.0. Tout se passe parfaitement bien. La seule chose, c'est que je souhaite ne pas afficher le mot de passe de la connexion à la base de données dans le fichier de configuration. J'aimerai le définir dans le code au moment où j'instancie mon contexte de données.

    Lorsque je génère mes entités à partir de la base de données, j'ai sélectionné l'option permettant d'exclure les données sensibles de la chaîne de connexion. Et j'aimerai savoir si l'un d'entre vous sait définir ces informations dans le code, s'il vous plait ?

    Merci bien pour votre aide !

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Full-stack
    Inscrit en
    Novembre 2010
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Full-stack

    Informations forums :
    Inscription : Novembre 2010
    Messages : 372
    Points : 489
    Points
    489
    Par défaut
    Bonjour,

    Dans ce cas utilisez le TrustedConnection (Authentifiaction Windows), et votre chaine de connexion ressemblera à quelquechose comme ceci avec SQL QERVER comme provider:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add name="MonConteneur" connectionString="metadata=res://*/MaBD.csdl|res://*/MaBD.ssdl|res://*/MaBD.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MonPoste;initial catalog=MaBD;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    Ou encore si vous pouvez crypter votre fichier de config, ça cachera le mot de passe.
    La recherche de la connaissance est une Lumière qui apaise le Cœur.
    Si une réponse vous a été utile , n'oubliez pas de voter en cliquant sur:.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Tu peux mettre la chaine sans mot de passe dans le fichier, et ajouter le mot de passe dynamiquement dans le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        string connectionString = ConfigurationManager.ConnectionStrings["nom_de_la_chaine_de_connexion"].ConnectionString;
        var builder = new SqlConnectionStringBuilder(connectionString);
        builder.Password = "blabla";
        connectionString = builder.ConnectionString;

  4. #4
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Responsable Architecture logicielle
    Inscrit en
    Décembre 2008
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Architecture logicielle
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 541
    Points : 1 729
    Points
    1 729
    Par défaut
    Cela dit en cas de décompilation le mot de passe est visible, donc un petit RSA+service peut être intéressant ?

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par dfiad77pro Voir le message
    Cela dit en cas de décompilation le mot de passe est visible, donc un petit RSA+service peut être intéressant ?
    Oui, et la clé tu la mets où ? Si le mot de passe est chiffré, il faut bien que le programme puisse le déchiffrer ; et pour ça il lui faut la clé, qui doit donc être stockée quelque part... et donc récupérable par quelqu'un d'autre. En fait il n'y a pas vraiment de solution miracle ; quelle que soit la solution retenue, un utilisateur qui a les mêmes privilèges que l'application pourra accéder aux même données.

    Si tu veux vraiment éviter de mettre le mot de passe en clair, le plus simple est d'utiliser Data Protection API, qui a l'avantage de ne pas nécessiter de gestion manuelle de la clé.

  6. #6
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Responsable Architecture logicielle
    Inscrit en
    Décembre 2008
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Architecture logicielle
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 541
    Points : 1 729
    Points
    1 729
    Par défaut
    Oui mais ça embête déjà un peu plus la relecture du code

    En fait je pensais pas mettre la clé secrète dans le code,
    mais plutôt passer par un service qui seul aura le droit d’accéder à la BDD et utiliser les apis de connexion sécurisé aux servicex ( solution non envisageable pour ce thread)


    Mais ta solution comme souvent semble plus adaptée

  7. #7
    Membre averti Avatar de M_Makia
    Homme Profil pro
    dev
    Inscrit en
    Février 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 121
    Points : 338
    Points
    338
    Par défaut
    Bonjour à tous,
    je sais qu'il est possible de crypter le fichier de config.
    Voir si cette solution te convient.
    http://blog.mathieu-perrein.net/post...u-webconfig%29

Discussions similaires

  1. Protéger les données sensibles
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/03/2009, 21h41
  2. Réponses: 1
    Dernier message: 28/08/2008, 22h53
  3. Réponses: 6
    Dernier message: 01/07/2008, 17h52
  4. Réponses: 1
    Dernier message: 30/12/2007, 14h51
  5. Réponses: 1
    Dernier message: 05/12/2006, 10h40

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