Autant que je sache, si vous voulez construire dynamiquement puis crypter une chaîne de connexion, il n'est pas possible d'utiliser le fichier de configuration de l'application pour les stocker si vous avez besoin de modifier la chaîne de connexion après la compilation.Impossible de stocker les chaînes de connexion cryptées dans le fichier app .exe.config?
Juste pour clarifier les choses, voici ce que je suis en train de réaliser:
- Je veux déployer un programme client à des endroits où - donc je ne sais pas leur nom de serveur de base de données et mots de passe
- Les
- Tous les utilisateurs du programme devront accéder à la base de données en utilisant le même nom d'utilisateur
- Je dois chiffrer la chaîne de connexion car les clients ne veulent pas que les mots de passe soient visible
- La chaîne de cryptage doit contenir le mot de passe
Alors, je voudrais que mon programme pour inviter l'utilisateur à un nom de serveur, nom d'utilisateur, PWD etc, puis créer la chaîne de connexion et le stocker chiffré dans le. fichier de configuration
Voici ma compréhension de la façon dont les poignées My.Settings connectionStrings:
la section connectionStrings dans le fichier .config du programme peut être crypté (par exemple http://msdn.microsoft.com/en-us/library/ms254494(v=vs.110).aspx) (je ce beau travail)
Cependant, pour obtenir une chaîne de connexion dans la section du fichier .config, il doit être conservé comme ConnectionString dans My.Settings
des chaînes de connexion dans MySettings sont d'application champ d'application - ne peuvent donc pas être modifié lors de l'exécution
Ainsi, il semble que vous pouvez chiffrer une chaîne de connexion, mais seulement si vous savez ce que la chaîne de connexion est quand vous écrivez le programme.
Si vous êtes un client et que vous souhaitez modifier ConnectionString, vous ne pouvez pas modifier le fichier .config (car il est crypté), et le programme lui-même ne peut pas modifier la chaîne de connexion et la stocker dans. fichier de configuration.
Est-ce correct? Est-il impossible d'utiliser la fonctionnalité de chiffrement de fichier de configuration de l'application pour stocker une chaîne de connexion créée au moment de l'exécution?
Merci, T.S., pour votre commentaire. J'ai décidé que My.Les paramètres n'étaient pas viables pour stocker une chaîne de connexion modifiée par l'application elle-même. Donc, je l'ai stocké dans son propre fichier de configuration XML, et crypté le mot de passe avant de le stocker. Cet excellent exemple de Microsoft a été très utile: http://msdn.microsoft.com/en-us/library/ms172831.aspx – user3012629