Derzeit verwalte und re-faktorisiere ich eine Software, die seit über einem Jahrzehnt in meinem Unternehmen verwendet wird. Eines der Elemente dieser Anwendung ist eine Art Administrator- oder Power-User-Modus, der zusätzliche / interne Eingaben sowie die Möglichkeit bietet, Eingabegrenzen auszuschalten.
In der Vergangenheit wurde dieser Modus aktiviert, indem eine Datei mit einem bestimmten Namen an einer bestimmten Stelle im Windows-Systemverzeichnis abgelegt wurde (beide wurden fest in der Anwendung codiert). Die Datei wurde "Something.DLL" genannt, obwohl sie leer war ASCII-Datei und keine DLL.
Deshalb habe ich kürzlich Code und ein kleines modales Formular hinzugefügt, mit dem der Benutzer ein Administratorkennwort eingeben kann, um diese Funktionalität zu aktivieren. Es ist ein festgelegtes Passwort, nicht benutzerspezifisch. Wenn das richtige Kennwort eingegeben wird, wird das Gleiche getan, indem im Stammverzeichnis der Anwendung eine 'Schlüsseldatei' erstellt wird, damit das Programm im Administratormodus gestartet werden kann, wenn diese Datei vorhanden ist.
Jetzt mag der Abteilungsleiter, für den diese Software hauptsächlich bestimmt ist, diese Idee nicht so sehr. Er glaubt, dass wenn wir nur ein einfaches, voreingestelltes Passwort haben, es leicht "rauskommt", und er möchte nicht, dass unerfahrene Benutzer auf diese zusätzlichen Funktionen zugreifen.
Meine Frage ist also, welche anderen Methoden gibt es, um diese Art von Zugang bereitzustellen, die etwas sicherer wäre? Es ist so ziemlich nur ich, wenn es um die Wartung und Verwaltung dieser Software geht. Alles, was nicht vollständig integriert oder automatisiert ist, würde also nicht helfen (z. B. das Senden von Anfragen nach 'Lizenzschlüsseln' oder ähnlichem).
Hinweise: Diese Anwendung ist in VB.NET (.NET 4.0) geschrieben. Derzeit plane ich die Verwendung der einmaligen Bereitstellung, wenn die neue Version fertig ist.