将内容从Azure文件共享加载到Azure静态Web应用程序,管理用户访问权限



我的项目需求是使用Azure文件共享。当前的总体架构是:

  • 静态Web应用- Vue.JS应用程序,用于用户管理他们的个人文件
  • 文件共享
  • - hosts用户文件

问题:

  • 为Azure文件共享创建SAS密钥时,不能限制用户对特定目录的访问。您可以对文件或整个文件共享进行范围访问,但不能访问文件夹。只写权限允许用户在文件共享的任何地方写。
  • FileREST不用于在网站上显示静态内容,例如图片/视频。

潜在解决方案(1)-中间件服务:

  • 在Web应用程序和文件共享之间引入一个服务来管理用户权限和文件访问。

当用户想要在文件共享中访问他们的文件夹时,他们首先点击service以获得他们的访问密钥/令牌。当用户需要读取/上传文件时,用户需要包含访问密钥/令牌。

潜在解决方案(2)- Blob存储到Azure文件共享同步

  • 引入Azure Blob Storage,每个客户端都有自己的容器
  • 每个客户端只能访问他们特定的容器。
  • Azure功能在文件上传/删除/修改时触发,并将更改复制到文件共享。

问题

这些方法中哪一个似乎是正确的?有更好的方法吗?

如果您打算实现的话,第二个是最简单的。因为每个客户都可以有自己单独的容器。这也给每个客户带来了好处,他们之间没有文件名冲突,如果一个容器中断,它不会面对其他用户的挑战,在容器级别,你也可以为这些用户定义作用域。

引入一个服务,位于Web应用程序和文件共享之间进行管理用户权限和文件访问。

涉及两个服务之间的代理/服务,将导致处理缓慢。

相关内容

  • 没有找到相关文章

最新更新