gpt4 book ai didi

c# - CosmosDB 仅访问用户的特定记录

转载 作者:行者123 更新时间:2023-12-03 07:00:54 24 4
gpt4 key购买 nike

我试图通过一些简单的 CRUD 操作为我的应用程序实现完全“无服务器”状态,因此我当前的方法是在前端使用 Blazor WASM,并使用 CosmosDB 作为记录存储。我已经在我的 Blazor 应用程序中配置了 AAD(Azure Active Directory)身份验证,就目前而言,我想知道是否有任何方法可以限制 Blazor 中的 CosmosDB 客户端仅读取专门属于当前用户的记录(每个记录有 UserId 字段)?那么,我想知道的主要事情是,是否可能?因为我找到了很多不同的文档,但由于缺乏使用 Azure 的经验,我无法完全弄清楚。

提前谢谢您!

附注我想要实现的主要解决方案 - 完全避免任何后端(API/服务器/Azure Functions),因为我真的想让它只是客户端应用程序 <-> CosmosDB,并且 AFAIK Firebase 与 JavaScript FrontEnd 允许执行这样的技巧,但我对此处特定于 Azure 的解决方案感兴趣

最佳答案

我没有 Blazor 的简单演练,但总体而言,该过程与此指南类似:Authenticate Users with an Azure Cosmos DB Document Database and Xamarin.Forms但它需要设置 API 服务来代理连接,这是您特别要求避免的。

如果您没有使用自动化的资源 token 代理,那么在您的逻辑中,您需要存储某种映射来解析 Cosmos DB Resource Tokens对于登录的用户。

在以下指南中,将 Xamarin 替换为 Blazor,将 Facebook 替换为 Azure AD:

typical resource token process

  1. 登录时,Blazor WASM 会联系 Azure 应用服务以启动身份验证流程。
  2. Azure 应用服务使用 Azure AD 执行开放身份验证流程。身份验证流程完成后,Blazor WASM 会收到访问 token 。
  3. Blazor WASM 使用访问 token 向资源 token 代理请求资源 token 。
  4. 资源 token 代理使用访问 token 向 Azure AD 请求用户身份。然后,用户的身份用于向 Cosmos DB 请求资源 token ,该资源 token 用于授予对经过身份验证的用户的分区集合的读/写访问权限。
  5. Blazor WASM 使用资源 token 通过资源 token 定义的权限直接访问 Cosmos DB 资源。

关于c# - CosmosDB 仅访问用户的特定记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72373909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com