0

したがって、私はこのプロジェクトを継承しました。このプロジェクトには、約20のフォーム、数百のコントロール、および数万行のコードがあります。私はしばらくの間それに取り組んできました、そして今、私の上司はユーザーアカウントの追加を要求しています。

User基本的に、、、、などのさまざまなレベルがSupervisorありAdministratorます。アプリケーションを起動すると、ログインする必要があり、ログイン資格情報をある種のデータベースと照合して、保持しているアクセス許可の種類を判別します。

Userボタンを除いて、メインフォームですべてのコントロールが無効になりGoます(これを行うのに良い方法ですか?)。Supervisorすべてが有効になり、ユーザーアカウントを作成できます(何らかの形式で)。Administratorと同じですがSupervisor、ユーザーアカウントをバックアップすることもできます。

今私の問題は、これを実装する方法が正確にわからないことです。プログラムはインターネットに接続せずに使用できる必要があるため、オンラインサービスまたはデータベースを照会できません。コンピュータに外部ファイルがある場合の問題は、誰かがそれを編集または削除できることです。

私のアイデアは、ユーザーアカウントをSettingsアプリケーションのクラスに保存することでしたが、それでも外部構成ファイルを保存します。実行可能ファイルに保存できるだけでなく、ファイルとして保存およびインポートできるようにする必要があると思います。

明らかに、このファイルではパスワードもハッシュ化する必要があります。誰かが良いと使いやすいクラスを知っていますか(このアプリケーションは商業的に販売されるので、使用に制限がないクラスが望ましいです)。ユーザー名もハッシュする必要がありますか?誰かがファイルを手に入れても、パスワードを推測しやすくなる可能性があるため、すべてのユーザー名を知っている必要はないからです。

4

1 に答える 1

0

上司がアプリケーションの大幅な変更を要求しています。

あなたのすべての要件を知らなければ、私はあなたをある方向または別の方向に実際に押すことはできません。Smart Client Architecture and Design GuidePDFでも入手可能)を確認してください。これは、達成しようとしていることの範囲を理解し、検討する必要のあるいくつかの設計/アーキテクチャパターンを特定するのに役立ちます。

第5章では、セキュリティの考慮事項を扱い、さまざまな認証モデルについて説明します。これは、少なくともあなたに良い出発点を与えるはずです。

于 2012-11-09T15:45:25.027 に答える