您的带有远程数据库的网站是否有提供 Web 内容的应用程序服务器?如果不是,数据库是干什么用的?
如果是这样,您应该编写一个与 Swing 应用程序通信的REST 服务或Web 服务,以便所有数据库连接都是从应用程序服务器到数据库,而不是从您的 Swing 应用程序直接到数据库。这有很多好处:除了您已经概述的安全性之外,应用程序服务器和数据库之间的延迟比 Swing 应用程序和数据库之间的延迟要少得多。此外,它使您有机会在服务器上封装业务逻辑并重用 Web 应用程序中的代码,从而将其从 Swing 应用程序中提取出来。
当然,您随后需要保护服务本身。为此,您可以使用像Spring Security这样的用户身份验证系统来确保只有某些用户可以访问您的服务。这通常采用登录 API 的形式,该 API 建立一个临时会话令牌,然后对服务的所有后续请求在标头(SOAP 标头、HTTP 标头等)中将该令牌提供给服务。
对于 FTP 要求,您也可以在服务端执行此操作,尽管您将潜在的大文件传输到您的服务器只是为了将它们上传到 FTP 站点。或者,如果可行,您可以为不同的用户设置不同的用户名和密码,然后输入他们的凭据,然后才能通过 FTP 访问他们的内容。这样就没有共享的 FTP 密码,您不必担心暴露它。