我应该将用户数据存储为声明还是存储在用户配置文件表中?

IWr*_*pps 5 .net c# security claims-based-identity user-profile

我正在开发一个面向公众的系统,该系统理想情况下会增长到大量流量。这都是 c# .net 工作。

我正在使用基于声明的身份,因此我目前正在使用用户声明表来存储用户数据,但是随着用户群的增长,我觉得这将变得太慢而无法支持流量。我正在考虑可能创建一个用户配置文件表来水平存储非安全相关的数据,而不是像在索赔表中那样垂直存储,只将安全数据留在索赔表中。

这是解决问题的合理方法吗?任何人都可以从他们在这样的场景中获得的经验分享一些见解吗?

更新

我的问题不是关于JWT随用户身份传递的令牌的大小。我的问题是关于严格使用“UserClaim”表以表格形式存储所有用户数据,Claim而不是使用一个UserProfile或类似的表来存储某些内容,以及找到“此数据进入索赔”的正确平衡表与此数据进入配置文件表”。

Mvd*_*vdD 5

我建议只将数据保存在授权决策中使用的令牌中,而不是使用用户配置文件信息来膨胀令牌。

诸如令牌有效的时间戳、令牌所针对的受众、用户名、组和用户角色等内容。请参阅此处了解更多信息。

如果任何信息发生变化,将个人资料信息保存在您的令牌中将强制您的应用程序获取新令牌。令牌通常在其生命周期内被缓存,以防止必须比需要更频繁地重新发布它们。