Javascript 如何安全地存储用于web api的文件

Javascript 如何安全地存储用于web api的文件,javascript,c#,asp.net-core,web,Javascript,C#,Asp.net Core,Web,我有一个用作图书库的应用程序。我有一个mysql数据库,其中包含所有书籍(id、标题、作者、thumbnailURI、PdfURI)。实际所有pdf书籍文件都存储在单独的服务器()上。到目前为止,它的工作原理如下: -客户端(网站)从Api获取书籍列表并将其显示给用户。 -当用户选择特定的书籍(通过单击它)时,它会转到详细信息页面,并传递choosen book ID. -“详细信息”页面从API请求该图书ID的数据,然后返回标题、作者以及缩略图和pdf的路径。 -然后它执行ajax调用,从文件

我有一个用作图书库的应用程序。我有一个mysql数据库,其中包含所有书籍(id、标题、作者、thumbnailURI、PdfURI)。实际所有pdf书籍文件都存储在单独的服务器()上。到目前为止,它的工作原理如下:
-客户端(网站)从Api获取书籍列表并将其显示给用户。
-当用户选择特定的书籍(通过单击它)时,它会转到详细信息页面,并传递choosen book ID.
-“详细信息”页面从API请求该图书ID的数据,然后返回标题、作者以及缩略图和pdf的路径。
-然后它执行ajax调用,从文件服务器获取这些文件,并将它们呈现给用户。

现在我的问题是,我需要以某种方式保护这些文件,以防任何人刚刚获取它们。现在,只要你有URI,你就可以下载pdf,我需要对它们进行某种限制。我怎样才能保护他们

这个问题更像是一个建筑性质的问题,但我想你应该做的是:

  • 客户端通过API获取PDF,而不是直接通过文件存储的公共url。这样,您就可以在API中验证这些请求
  • 限制除API之外的所有文件访问权限

  • 好的,但是如何让api发送pdf文件呢?我的意思是GetPDF控制器应该返回什么类型?在Asp.net中检查。我会提供链接,基本上代理你想要的文件。检查安全性,如果他们没有访问权限,则返回403状态,如果他们有访问权限,则流式传输文件()。