サーバーとクライアントの両方のGUIを使用して、RMIでセキュリティで保護されたバンキングサービスを開発しています。
サーバーは、すべての操作(新しいユーザー、削除されたユーザー、撤回、ロッジメントなど)をログに記録できる必要があります。クライアントはこれらの操作を実行します。すべてが保護されているため、クライアントは最初にGUIで名前とパスワードを使用してアカウントを作成する必要があります。その後、GUIはユーザーを新しい顧客として銀行UserList(arrayList)に追加し、ユーザーはいくつかの操作を実行できます。最初は簡単そうに見えますが、私の考えは正しくないと思います。
RMIで銀行全体を送信するのは正しいですか?最初は銀行がサーバーになると思っていたのですが、それを行う別の方法を見つけることができませんでした。現在、クライアントGUIはログインとパスワードを要求し、RMIによって銀行を受け取ります。ユーザーは、パスワードの名前とハッシュによって特徴付けられます。
private String name;
private byte[] passwordDigest;
実際、GUIはすべてのセキュリティチェックを行っており、それが適切かどうかはわかりません。login // passwordと入力すると、銀行のログインが検索され、パスワードのハッシュが比較されます。実際、私は、あなたが銀行を持っているとき、あなたはすべてを持っているので、クライアントがあまりにも多くの情報を知っているという印象を持っています。
それは正しいように見えますか、それとも実装を変更する必要がありますか?