ASP.NET Core/Blazor/Web API:如何安全地存储用户数据? [英] ASP.NET Core / Blazor / Web API : how to securely store user data?

本文介绍了ASP.NET Core/Blazor/Web API:如何安全地存储用户数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

问题

我现在需要创建一个Web应用程序,我希望与ASP.NET Core MVC或Blazor服务器一起使用。但我希望将来将其移动到Blazor Web Assembly或ANGING应用程序。

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

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

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

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

提前感谢。

推荐答案

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

  1. 创建包含UserID、License、Active和任何其他必填字段的表。
  2. 使用Authorize属性公开Web API控制器。只有具有有效JWT令牌的用户才能访问此控制器。
  3. UserLicensesController将与存储许可证的表对话。
  4. 使用Blazor卷筒纸组件、或角度、或反应JS。使用有效凭据登录。
  5. 从UI向UserLicensesController Web API调用Get/Post/Put方法,并传递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存储库。

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

这篇关于ASP.NET Core/Blazor/Web API:如何安全地存储用户数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆