【问题标题】:ASP.NET Core / Blazor / Web API : how to securely store user data?ASP.NET Core / Blazor / Web API:如何安全地存储用户数据?
【发布时间】:2021-08-08 00:18:14
【问题描述】:

我希望有人能指出我正确的方向。这是 100% 的教育问题。

问题

我现在需要创建一个 Web 应用程序,我想与 ASP.NET Core MVC 或 Blazor Server 一起使用。但我想在未来将其移至 Blazor Web Assembly 或 Angular 应用程序。

我正在创建一个看似非常简单的 Web 应用程序。用户可以注册并请求许可证密钥。用户可以拥有多个这些密钥。填写表格后,等待授权。这部分不是问题。

我发现很难找出将这些数据存储在数据库中的方法和最佳方法。许可证将链接到存储在身份数据库中的用户。我在网上关注了多篇关于如何使用授权和身份验证的教程和技术论文,但似乎都没有详细介绍如何存储用户数据。显然,只有登录用户才能查看/创建他们的许可证,并且无法访问其他任何人的许可证。

我了解 ASP.NET Core MVC/Blazor 服务器和 Angular/Blazor WA 的流程会有所不同,因为它们需要 API。

我希望有人能指出正确的方向,因为我已经在线扫描了 3 天,需要摆脱我的痛苦。

提前致谢。

【问题讨论】:

  • 我很欣赏这里的叙述清晰。但这仍然不符合一个好问题的准则。如果您可以缩小您的问题范围并使用真实代码提供最少且可重现的示例,您可能会获得更多可以帮助您的人,并且以更有针对性的方式。
  • 当然,存储与每个帐户相关联的个人详细信息的最佳方式是什么?此信息只能由登录用户访问和添加。由于我什至找不到任何示例,我没有任何代码。我的想法只是将其存储在同一个数据库和身份中,但传入当前登录用户的 ID,但这似乎是正确的。

标签: asp.net-core asp.net-core-mvc asp.net-core-webapi blazor-server-side blazor-webassembly


【解决方案1】:

以下是其中一种处理方式。

  1. 创建一个包含 UserId、许可证、Active 和任何其他必填字段的表。
  2. 使用 Authorize 属性公开 Web API 控制器。只有拥有有效 JWT 令牌的用户才能访问此控制器。
  3. UserLicensesController 将与存储许可证的表对话。
  4. 使用 Blazor Web 程序集、或 Angular 或 React JS。使用有效凭据登录。
  5. 从 UI 调用 Get/Post/Put 方法到 UserLicensesController Web API,并传递 JWT 令牌。

如果您需要任何进一步的帮助,请告诉我。

[2021 年 5 月 19 日] 这是一个基本的解决方案。

  1. 我已经创建了一个基本解决方案。
  2. UserMgmtStore.sqlproj 包含数据库项目。
  3. UserMgmt.API.csproj 包含带有 JWT 身份验证的 Web API。
  4. 我正在使用 Auth0 作为身份验证和授权平台。
  5. UserMgmt.Web.csproj 包含 Blazor Web 程序集项目。
  6. 我已使用用户名和密码从 Auth0 检索 JWT 令牌。
  7. 每个项目都有自己的身份/STS 系统。为了完成概念验证,我对令牌进行了硬编码。
  8. 我已将 POC 签入到我的 GitHub 存储库中。

网址:https://github.com/vishipayyallore/mini-projects-2021/tree/master/Projects/UserLicenses

【讨论】:

  • 谢谢!我显然在我的知识上有一些空白。我很难理解 API 如何知道如何仅返回该用户数据,或仅为该用户添加该数据。
  • 如果您需要样品,我可以在明天 EOD IST 之前给您。数据库、Web API 和 UI。所有层都签入 GitHub 存储库。请务必告诉我。
  • 是的,请!那太棒了!非常感谢!
  • 基本 POC 已完成并签入我的存储库。还更新了我的答案。请查看
  • 谢谢!我会谈谈看看,试着理解。感谢您抽出宝贵时间!
猜你喜欢
  • 1970-01-01
  • 2020-06-22
  • 2019-11-30
  • 1970-01-01
  • 2021-12-02
  • 2018-01-16
  • 2012-02-01
  • 2013-10-03
  • 2019-02-20
相关资源
最近更新 更多