したがって、私はこのプロジェクトを継承しました。このプロジェクトには、約20のフォーム、数百のコントロール、および数万行のコードがあります。私はしばらくの間それに取り組んできました、そして今、私の上司はユーザーアカウントの追加を要求しています。
User
基本的に、、、、などのさまざまなレベルがSupervisor
ありAdministrator
ます。アプリケーションを起動すると、ログインする必要があり、ログイン資格情報をある種のデータベースと照合して、保持しているアクセス許可の種類を判別します。
User
ボタンを除いて、メインフォームですべてのコントロールが無効になりGo
ます(これを行うのに良い方法ですか?)。Supervisor
すべてが有効になり、ユーザーアカウントを作成できます(何らかの形式で)。Administrator
と同じですがSupervisor
、ユーザーアカウントをバックアップすることもできます。
今私の問題は、これを実装する方法が正確にわからないことです。プログラムはインターネットに接続せずに使用できる必要があるため、オンラインサービスまたはデータベースを照会できません。コンピュータに外部ファイルがある場合の問題は、誰かがそれを編集または削除できることです。
私のアイデアは、ユーザーアカウントをSettings
アプリケーションのクラスに保存することでしたが、それでも外部構成ファイルを保存します。実行可能ファイルに保存できるだけでなく、ファイルとして保存およびインポートできるようにする必要があると思います。
明らかに、このファイルではパスワードもハッシュ化する必要があります。誰かが良いと使いやすいクラスを知っていますか(このアプリケーションは商業的に販売されるので、使用に制限がないクラスが望ましいです)。ユーザー名もハッシュする必要がありますか?誰かがファイルを手に入れても、パスワードを推測しやすくなる可能性があるため、すべてのユーザー名を知っている必要はないからです。