【发布时间】:2025-11-22 03:05:02
【问题描述】:
我正在 RMI 中开发一个安全的银行服务,带有一个用于服务器和客户端的 GUI。
服务器必须能够记录每个操作(新用户、已删除用户、取款、提交...) 客户端将执行这些操作。 由于一切都是安全的,客户首先必须在 GUI 中创建一个具有名称和密码的帐户。之后,GUI 将 Bank UserList(arrayList) 中的用户添加为新客户,用户可以执行多项操作。 乍一看似乎很简单,但我认为我的概念不正确。
通过RMI发送整个银行是否正确?因为起初我认为银行会成为服务器,但我找不到其他方法来做到这一点。 目前,客户端 GUI 要求输入登录名和密码,并通过 RMI 接收银行。用户的特征是名称和密码的哈希值。
private String name;
private byte[] passwordDigest;
事实上,GUI 正在执行所有安全检查,我不知道它是否相关。当您输入 login//password 时,它将在银行中搜索登录名并比较密码的哈希值。 事实上,我的印象是客户知道太多信息,因为当您拥有银行时,您就拥有了一切......
这看起来是正确的还是我需要改变我的实现?
【问题讨论】:
-
你的 Bank 接口是实现 Serializable 还是 Remote?
-
如果您实际上是在开发“真正的”银行服务,而不是测试项目或任务或其他东西,请出于对所有神圣事物的热爱,不要使用 RMI...我爱Java 但能够使用其他语言的接口很有用:)
-
任务什么的