【问题标题】:Create a cloud storage app with ASP.NET and Azure使用 ASP.NET 和 Azure 创建云存储应用
【发布时间】:2016-07-14 21:16:02
【问题描述】:

我需要使用 ASP.NET MVC、C# 创建一个云存储应用程序并将其与 Azure 存储集成。

我目前有一个功能界面,允许用户注册并将他们的详细信息安全地存储在 SQL 数据库中。我还有一个使用 Azure Blob 存储的基本文件上传器,它是使用 this tutorial 作为指南创建的。

我的问题是关于如何为用户提供自己的容器/页面,以便他们的文件只能由他们访问。目前,文件上传器和 Azure 容器是共享的,因此任何拥有帐户的人都可以查看和编辑上传。我想限制这一点,以便每个用户都有自己的个人空间,其他人无法读取或修改。

我已经搜索了答案,但找不到任何适合我需要的东西。任何建议将不胜感激。

【问题讨论】:

    标签: c# asp.net asp.net-mvc azure


    【解决方案1】:

    我的问题是关于如何为用户提供自己的容器/页面,以便 他们的文件只能由他们访问。

    实现此目的的一种方法是将容器分配给用户。当用户注册时,作为注册过程的一部分,您会为该用户创建一个 Blob 容器,并存储该容器的名称以及有关该用户的其他详细信息。当用户登录时,您获取此信息并仅显示来自该容器的文件。同样,当用户上传文件时,您只将文件保存在该容器中。

    您需要考虑的一些事项:

    • 您不能对容器的大小设置任何硬性限制。所以一个容器可以和你的存储帐户一样大。如果您想对用户可以上传的数据量设置一些限制,则需要在应用程序的存储之外进行管理。如果需要,您可能还想查看 Azure 文件服务。在 Azure 文件服务中,您可以限制共享的大小(相当于 blob 容器)。
    • 您甚至可能希望跨多个存储帐户对用户进行负载平衡,以实现更好的吞吐量。如果您决定沿着这条路线走,那么连同容器名称,您还需要存储存储帐户名称以及用户信息。

    【讨论】:

    • 感谢您的意见。这听起来像是一个完美的计划。你知道任何可以指导我完成整个过程的教程吗?我对 ASP.NET 非常了解,但我仍然掌握了窍门。
    • 请参阅此 Blob 存储入门指南:azure.microsoft.com/en-in/documentation/articles/…
    • 现在可以了。非常感谢您的帮助!
    【解决方案2】:

    将文档名称存储在链接到用户帐户的单独 SQL 数据库中。然后只向用户显示那些文件名专门链接到它们的文件,你应该在路上!我以前使用过这种架构,它就像一个魅力。但是,在实现此模型之前,您应该为每个文件名附加一个 Guid 或其他一些唯一标识符。

    【讨论】:

      猜你喜欢
      • 2013-09-26
      • 2015-02-14
      • 1970-01-01
      • 2021-04-27
      • 2010-11-02
      • 2020-10-14
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      相关资源
      最近更新 更多