0

我使用 .NET 已经有一段时间了,但现在才刚刚过渡到 Azure。

作为我的第一个云项目的一部分,我有一个多用户文档场景。文档将存储为 BLOB,每个用户都需要访问自己的文档,但没有其他人的。此外,还有更高级别的组(管理员)可以访问所有文档。所有用户都将通过身份验证。

我的问题是:有没有办法将允许的用户列表直接附加到 BLOB,或者我是否需要将其存储在其他地方(在表存储或数据库中)?我找到了大量关于如何通过共享访问签名授予临时客户端访问权限的文档,但没有找到更永久的“文件”权限。

4

3 回答 3

1

如果要对 blob 提供访问控制,最好的选择是使用 ACS 和 DB。您可以为特定用户提供文件访问权限并将这些访问权限保存到数据库中。这可以用作您请求的持久许可。

您可以看看 BlobShare Sample 是一个简单的文件共享应用程序,它演示了 Windows Azure 平台的存储服务,以及访问控制服务 (ACS) 的身份验证和授权功能。

http://blobshare.codeplex.com/

于 2012-06-26T22:19:44.147 回答
1

Blob 没有内置的每用户访问控制。使用私有 blob 时,blob 存储 API 服务只有一种安全机制:帐户密钥(主密钥或辅助密钥的工作方式相同)。共享访问签名实际上只是通过 URL 提供临时访问的一种方式。如果您在 Web 或业务层中执行所有用户级授权,则该层可以直接访问 blob 并将其直接返回给用户(通过 IIS、tomcat、Web 服务或您选择的任何其他机制)。

由于 Windows Azure 存储没有 ACS 机制,因此您需要使用类似于您在应用程序中用于任何其他用户级访问的方案。

于 2012-06-26T22:39:41.637 回答
0

您可以利用共享访问签名。有关共享访问签名的更多详细信息,请访问

http://msdn.microsoft.com/en-us/library/windowsazure/ee395415.aspx 问候,维杰。

于 2012-07-03T09:53:52.473 回答