L'application que mon équipe développe actuellement possède une DLL qui est utilisée pour effectuer tous les accès à la base de données. L'application ne peut pas utiliser une connexion approuvée car la base de données est derrière un pare-feu et le serveur de domaine ne l'est pas. Il semble donc que la chaîne de connexion doit avoir un nom d'utilisateur et un mot de passe DB. La DLL a actuellement la chaîne de connexion à la base de données codée en dur, mais je ne veux pas le faire lors du lancement car l'assemblage peut être désassemblé et le nom d'utilisateur et le mot de passe seraient là, à l'air libre.
L'une des exigences est que le mot de passe doit être changé une fois tous les quelques mois, nous aurions donc besoin de le déployer à notre base d'utilisateurs interne.
Existe-t-il un moyen de stocker le mot de passe chiffré de manière à ce que nous puissions facilement le distribuer à l'ensemble de la base d'utilisateurs sans le stocker dans l'assembly ?
MISE À JOUR : Merci à tous ceux qui ont répondu. Je vais essayer de répondre à certaines des questions qui me sont posées... La DLL de données est utilisée à la fois par ASP.NET WebForms et VB.NET WinForms. Je comprends que les applications peuvent avoir leurs propres fichiers de configuration, mais je n'ai rien vu sur les fichiers de configuration pour les DLL. Malheureusement, je ne peux pas me rendre au poste de Jon Galloway au travail, donc je ne peux pas juger si cela fonctionnera. Du point de vue du développement, nous ne voulons pas utiliser les services Web en interne, mais nous les fournirons peut-être à des tiers dans le courant de l'année prochaine. Je ne pense pas que l'usurpation d'identité fonctionnera car nous ne pouvons pas authentifier l'utilisateur via le pare-feu. Comme un utilisateur (ou un ancien utilisateur) peut être un attaquant, nous le cachons à tout le monde !