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

C# Discussion :

Problème droit d'admin avec l'encryptage du fichier app.config


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut Problème droit d'admin avec l'encryptage du fichier app.config
    Bonjour à tous :-D je post aujourd'hui car j'ai un pti soucis avec l'encryptage de mon fichier app.config.

    J'ai utilisé le bout de code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    ConnectionStringsSection cnxSection = config.ConnectionStrings;
    if (cnxSection != null)
    {
    if ((!cnxSection.IsReadOnly()) && (!cnxSection.SectionInformation.IsLocked))
    {
    cnxSection.SectionInformation.ProtectSection(null);
    cnxSection.SectionInformation.ForceSave = true;
    config.Save(ConfigurationSaveMode.Full);
    }
    }
    Seul soucis, il encrypte uniquement si je lance le logiciel en tant qu'admin... Et comme ça ce fais au lancement du logiciel, si je le lance pas en admin, le logiciel ne souvre pas... Comment faire pour l'encrypter mon fichier app.config sans avoir les droit admin requis ??

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Points : 766
    Points
    766
    Par défaut
    Quel sont les droits sur le fichier? Seul l'administrateur peut le modifier?
    Les fautes d'orthographes sus-citées sont déposées auprès de leurs propriétaires respectifs. Aucune responsabilité n'est engagée sur la lisibilité du message ou les éventuels dommages qu'il peut engendrer.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Heu on parle des droits dans Windows ou ceux qui existe éventuellement dans VS, car je ne connais que ceux de Windows.

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Il n'y a pas de droits au niveau de Visual Studio, on parle donc bien de ceux de Windows
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Hum je vois. Seulement maintenant la question est comment faire pour s'assurer ou enlever les droit admin afin que n'importe quel personne qui installe mon logiciel n'ai pas de manip supplémentaire à faire ? Merci de vos réponses ;-)

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Quel est le chemin complet pour accéder à ton fichier app.config ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Par défaut après l'installation c'est: C:/PROGRAM FILES(x86)/Stockaero/ mais c'est uniquement sur win 7 et 8 et sur xp je sais pas ;-)

    EDIT : je viens de tester de mettre "control total" a l'utilisateur (dans windows) mais toujours le me même bug....

  8. #8
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Pour écrire dans ce dossier, c'est assez particulier, il faut soit être Administrateur, soit appeler un composant COM qui permet d'obtenir une élévation des privilèges. En général, il est donc déconseillé d'avoir à écrire dans ce répertoire...

    On peut préférer le répertoire C:\Users\<username>\AppData\Local ou C:\Users\<username>\AppData\Roaming.

    Sinon si tu tiens absolument à rester dans Program Files, regarde ceci ou encore ceci : Try out Windows 7 UAC using C#.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Je veux bien déplacer mon fichier .config comme tu me le propose mais comment faire pour qu'après le logiciel aille le récupérer au bon endroit a chaque fois que j'en ai besoin ?

  10. #10
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    En fait je viens de me rendre compte que je n'ai pas clairement expliqué la situation La question à se poser c'est surtout pourquoi est-ce que tu écris dans ce fichier ?

    Si tu le fais pour stocker des paramètres liés à l'utilisateur, il faut utiliser les Settings, en les configurant avec une portée Utilisateur (ou avec une portée Application si le paramètre est partagé par tous les utilisateurs). Ensuite, l'application se charge d'écrire au bon endroit toute seule... Voir Application Settings Architecture.

    Le fichier app.exe.config ne peut être stocké que dans le même répertoire que l'exécutable. De plus, s'il est modifié, il faut relancer l'application pour que les changements soient pris en compte. Donc il faut déjà voir pourquoi Est-ce que tu as besoin de modifier le fichier de config.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Aah ! Donc en faite je n'ecris pas personnellement dans ce fichier, c'est visual studio qui la fais lorsque que j'ai créé mon fichier .bdml et j'ai mis mes table de ma bdd sql, il a affiché un message disant que les données seraient écris en.claire, seulement j'aimerais les cacher et je n'ai trouvé que cette méthode :-/ Après avoir ajouté mes tables dans le bdml je ne me sers plus du fichier, du moins pour l'instant ;-)

  12. #12
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Ah d'accord, ça veut dire que tu développes dans le répertoire Program Files ?

    Effectivement dans ce cas le app.config ne bougera plus une fois que tu auras terminé de développer. L'idéal c'est de développer ailleurs, où tu ne seras pas embêté par ce genre de problématique

    Le cryptage du app.config est fait à la volée au premier lancement de l'application ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Oui exactement il crypte une première fois au premier démarrage puis vérifié a chaque démarrage que c'est bien cripté, je sais pas ce que tu appel dévelloper dans le tel ou tel répertoire. En revanche dans InstallShield j'ai belle est bien sélectionné le dossier programe files pour l'installation.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Bon j'ai essayer toutes les solution proposé dans le liens plus haut sur comment faire pour contourner l'UAC mais ren ne marche, au contraire ca me rajoute des problèmes... Donc si une solution te viens à l'esprit pourquoi pas, moi en attendant je passe à autre choses

  15. #15
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Merci pour les dernières précisions. Pourquoi faire le cryptage au premier lancement ? Il vaudrait mieux que ça soit toi qui crypte ta section directement, une fois pour toute. Comme ça pas besoin d'écrire dans le app.config.

    Ce qu'il faut surtout retenir ici, c'est qu'il ne faut pas écrire dans le app.config, ou alors pour des besoins très très particuliers (d'ailleurs je n'arrive pas à trouver de situation où ça serait nécessaire). Si tu dois absolument le faire, tu peux aussi essayer une autre méthode, qui consiste à passer par du XML : Writing to Your .NET Application's Config File.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Merci pour ta réponse alors je n'écris pas personnellement dans le app.config VS le fais tout seul.

    Oui pourquoi pas la crypter personnellement, mais parle tu d'une méthode cryptage qui se ferai au build de l'application ou autre chose ?

    je vais jeter un oeil au XML

  17. #17
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Je ne comprends plus ce que tu fais, tu m'as perdu

    Dans ton premier post tu indiques du code qui montre que TU écris dans le app.config. Dans les posts suivants, tu soutiens que c'est Visual Studio qui le fait ou que c'est fait au premier lancement de l'application... Si c'est Visual Studio qui le fait, pourquoi as-tu mis le code du premier post ?

    Par la suite, tu n'as pas répondu à mes questions, donc je n'arrive pas à savoir ce que tu fais... Est-ce que ta solution est stockée dans le répertoire Program Files ?

    Peux-tu résumer clairement la situation STP et répondre aux deux questions ci-dessus ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    C'est vrai que je me suis un peu perdu.

    Donc lorsque je créer ou mets a jour mon fichier stock.bdml, dont je me sers pour linq, VS ajoute tout seule les ligne dans le app.config seulement la chaine de connexion a la BDD est en claire.
    Je veux la crypter en utilisant le code du 1er post ou autre au premeir lancement ou au plus tot pour eviter qu'elle reste visible en claire.
    Seulement avec le code que j'ai je ne peux crypter que si je suis administrateur, et vu que le code et au lancement du logiciel il me le bloque et donc l'appli ne ce lance pas.

    J'aimerai pour crypter sans droit admin en amont de la compilation de l'installateur.

    Mon application est bien installé dans le dossier programe files.

  19. #19
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Merci pour ces précisions, j'y vois plus clair

    Donc en fait à mon avis il suffit qu'une fois la connection string générée, tu la cryptes manuellement (tu te fais une petite application console pour la crypter comme il faut), puis tu la copie/colle dans ton fichier de config. Ensuite il faudra juste la décrypter à la lecture quand tu en auras besoin dans ton application.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 33
    Points : 18
    Points
    18
    Par défaut
    Salut. Merci pour ton aide, j'ai donc fais comme tu me l'as dis, j'ai fait une petite application console qui me crypte le fichier et tout marche nikel

    Sauf que maintenant, j'ai toujours un petit soucis, lorsque je lance mon appli sur une session avec l'UAC activé il me demande les droits administrateur car l'éditeur est inconnue, j'ai essayer les solutions dans un liens que tu m'as transmit mais ca ne marche toujour pas :/

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. problème droits admin
    Par sky88 dans le forum Administration
    Réponses: 1
    Dernier message: 06/02/2014, 20h48
  2. [Problème] Droits admin
    Par khemal dans le forum VB.NET
    Réponses: 4
    Dernier message: 05/05/2011, 09h46
  3. organisation d'admin avec droits d'accès restreints
    Par artichaudd dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2010, 19h36
  4. Appli avec droits d'admin
    Par Auma dans le forum Windows
    Réponses: 6
    Dernier message: 23/06/2005, 14h32
  5. problème de capture son avec Directshow
    Par albator83 dans le forum DirectX
    Réponses: 2
    Dernier message: 06/11/2003, 17h18

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