私は現在、会社で10年以上使用されているソフトウェアを管理およびリファクタリングしています。このアプリケーションの要素の1つは、管理者モードまたはパワーユーザーモードの一種で、追加/内部入力や、入力制限をオフにする機能などを提供します。
歴史的にこのモードは、Windowsシステムディレクトリの特定の場所(どちらもアプリケーションにハードコードされていました)に特定の名前のファイルを配置することでオンになりました。 DLLではなくASCIIファイル。
そこで、最近、ユーザーが管理者パスワードを入力してこの機能をオンにできるようにするコードと小さなモーダルフォームを追加しました。これは設定されたパスワードであり、ユーザー固有ではありません。正しいパスワードが入力されると、アプリケーションのルートディレクトリに「キーファイル」を作成することによって同じことを行い、そのファイルが存在する場合にプログラムが管理モードで起動できるようにします。
今、このソフトウェアが主に使用する部門のマネージャーは、その考えをあまり好きではありません。彼は、単純で事前に設定されたパスワードがあれば簡単に「出て行ける」と考えており、経験の浅いユーザーがこれらの追加機能にアクセスすることを望んでいないと考えています。
だから私の質問は、この種のアクセスを提供するために、いくらか安全な他の方法があるのですか?このソフトウェアの保守と管理に関しては、私だけです。したがって、ほとんど完全に組み込まれていないか自動化されていないものは役に立ちません(たとえば、「ライセンスキー」の要求を送信するなど)。
注:このアプリケーションはVB.NET(.NET 4.0)で記述されており、現在、新しいバージョンが完了したらクリックワンス展開を使用することを計画しています。