java - 如何为 Web 应用程序创建文件服务器

标签 java php authentication networking ftp

我有两台服务器。

服务器A:Tomcat+Oracle:包含web应用代码。 Webapp部署在这台服务器上。

服务器B:支持PHP + MySQL + 大磁盘存储空间。这是在服务器 A 上运行的 Web 应用程序的文件服务器。

目前所有用户都在服务器A上上传文件,服务器A使用FTP连接将文件保存在服务器B上。 类似地,对于下载,A 使用 FTP 从 B 获取文件,然后将文件发送到浏览器。但这会增加服务器 A 的网络开销。

是否有任何安全的方式,只有登录用户才能通过直接访问服务器 B 的某些 URL 下载他们的文件?

最佳答案

您可以使用一个短命的一次性 token 系统。服务器 A 用于身份验证,服务器 B 用于 token 存储和文件服务器。

客户端一旦通过身份验证,就向服务器 A 请求文件。然后服务器 A 向服务器 B 请求一次性 token 和 URL 以获得给定的文件名。服务器 B 生成 token 和 URL 并返回给服务器 A,服务器 A 又返回给客户端。

客户端现在可以使用给定的 URL 和 token 从服务器 B 请求文件。服务器 B 将检查 token 是否未被使用或过期,以及请求的文件是否与为 token 颁发的文件匹配。

关于java - 如何为 Web 应用程序创建文件服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19470671/

相关文章:

java - 为什么要执行父类的init block ?

php - 如何在另一个文件的函数中使用一个 PHP 文件中的变量?

php - 我如何在 MongoDB 中使用 Map/Reduce?

authentication - Azure Google 身份验证显示错误 :disallowed_useragent

ios - 在用户登录时注册远程通知

java - Slick 中 getColor() 方法上的 ArrayIndexOutOfBoundsException

java - 在 Android 上使用 Teechart 制作动画

php - 如何将数组限制为一定数量?

javascript - Active Directory - 在 Web 应用程序中使用当前登录的用户,可能吗?

java - SoapFault - 故障代码 : 'soap:Server' faultstring: 'Server was unable to process request. 未将对象引用设置为对象的实例