Je gère et refactorise actuellement un logiciel utilisé dans mon entreprise depuis plus d'une décennie maintenant. L'un des éléments de cette application est une sorte de mode administrateur ou utilisateur avancé qui fournit des éléments tels que des entrées supplémentaires / internes ainsi que la possibilité de désactiver les limites d'entrée.
Historiquement, ce mode a été activé en plaçant un fichier spécifiquement nommé à un endroit spécifique du répertoire système de Windows (tous deux codés en dur dans l'application), le fichier étant nommé `` quelque chose.DLL '', même s'il était vide Fichier ASCII et non une DLL.
J'ai donc récemment ajouté du code et un petit formulaire modal qui permet à l'utilisateur d'entrer un mot de passe administrateur pour activer cette fonctionnalité. Il s'agit d'un mot de passe défini, non spécifique à l'utilisateur. Lorsque le mot de passe correct est entré, il fait en quelque sorte la même chose en créant un «fichier clé» dans le répertoire racine des applications afin que le programme puisse démarrer en mode administrateur si ce fichier est présent.
Maintenant, le directeur du département auquel ce logiciel est principalement destiné n'aime pas tellement cette idée. Il pense que si nous avons juste un mot de passe simple et prédéfini, il «sortira» facilement, et il ne veut pas que des utilisateurs inexpérimentés accèdent à ces fonctionnalités supplémentaires.
Ma question est donc la suivante: quelles autres méthodes existe-t-il pour fournir ce type d'accès qui serait un peu plus sûr? C'est à peu près juste moi quand il s'agit de maintenir et de gérer ce logiciel, donc tout ce qui n'est pas complètement intégré ou automatisé n'aiderait pas (comme l'envoi de demandes de `` clés de licence '' ou quelque chose de similaire).
Remarques: Cette application est écrite en VB.NET (.NET 4.0), et je prévois actuellement d'utiliser le déploiement en une seule fois lorsque la nouvelle version sera terminée.