Как организовать клиент-серверную архитектуру RMI

Я разрабатываю защищенный банковский сервис в RMI с графическим интерфейсом для сервера и клиента.

Сервер должен иметь возможность регистрировать все операции (новый Пользователь, удаленный Пользователь, Снятие со счета, Ложмент ...). Клиент будет выполнять эти операции. Поскольку все защищено, Клиент должен сначала создать учетную запись с именем и паролем в графическом интерфейсе. После этого графический пользовательский интерфейс добавляет пользователя в банковский список пользователей (arrayList) в качестве нового клиента, и пользователь может выполнять несколько операций. Сначала это кажется простым, но я думаю, что моя концепция неверна.

Правильно ли отправить весь банк через RMI? Потому что сначала я думал, что Банк будет сервером, но я не могу найти другой способ сделать это. В настоящее время клиентский интерфейс запрашивает логин и пароль и получает банк через RMI. Пользователь характеризуется именем и хэшем пароля.

private String name;
private byte[] passwordDigest;

Фактически, GUI выполняет все проверки безопасности, и я не знаю, насколько это актуально. Когда вы вводите логин // пароль, он будет искать логин в банке и сравнивать хеш пароля. На самом деле у меня сложилось впечатление, что Клиент знает слишком много информации, потому что когда у вас есть Банк, у вас есть все ..

Это кажется правильным или мне нужно изменить мою реализацию?

Ответы на вопрос(2)

Ваш ответ на вопрос