首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DocumentDb用户数据隔离

DocumentDb用户数据隔离
EN

Stack Overflow用户
提问于 2014-09-04 10:19:36
回答 1查看 874关注 0票数 0

我正在测试最近发布的DocumentDb,找不到任何说明如何执行用户数据隔离的最佳实践的文档。

我想大致的设计是:

  • 对用户进行身份验证并创建新的/获取现有的用户id
  • 在文档插入时,将用户id注入文档
  • 在读取文档/文档集合查询时,文档用户id =当前用户id

我正在创建AngularJs应用程序,目前使用的是Azure Sql数据库和Azure Mobile服务。

移动服务通过使用数据脚本javascript函数处理用户身份验证和服务器端用户数据隔离:

例如:

代码语言:javascript
复制
function insert(item, user, request) {
  item.userId = user.userId;
  request.execute();
}

对于使用AngularJS将用户数据与DocumentDB隔离的技术有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2014-09-04 17:58:19

在我看来,您的方法是合理的--假设您的粗略设计中提到的逻辑发生在后端服务中。

通常,我对DocumentDB的处理方式与处理任何其他数据存储的方法相似。客户端(AngularJS)调用后端服务,而不是直接调用数据存储。在将任何工作委托给您的数据存储之前,后端将验证客户端的请求(即断言用户经过身份验证并可能接触特定的数据)。

如果希望从客户端直接访问数据库,您可以查看DocumentDB的用户和权限。为了为您的应用程序实现多租户,您可以在DocumentDB中创建与实际用户或应用程序租户相对应的用户。然后,您可以为给定用户创建与对各种集合、文档、附件等的访问控制相对应的权限。在客户端上,您可以使用用户的资源键而不是DocumetnDB的管理员密钥连接到数据库。

查看有关DocumentDB用户/权限的博客文章:architect/archive/2014/12/09/permissions-in-azure-documentdb.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25662942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档