将用户设置存储在ASP.NET核心标识AspNetUsers表中或不存在

问题描述 投票:0回答:1

我正在使用ASP.NET Core设置一个Web应用程序,通过Identity Framework进行身份验证。快问。我存储有关用户的各种数据,例如他们的地址,帐户设置,订阅状态和到期日期等。我最好通过创建继承IdentityUser的ApplicationUser类来存储AspNetUsers表中的所有数据,或者我应该保留该表对于登录/安全信息并创建另一个表来存储仅与我的应用程序相关的数据,并且在两个表之间具有一对一的关系?

c# .net asp.net-mvc asp.net-core
1个回答
2
投票

总是一个单独的表/类。

复杂性随应用程序而增长。桌子会变得太大,你会花时间远离这个。在我们的遗留应用程序中,我们的组织已经增长到70多列。我在Twitter上听到过有类似经历的人的故事。

除此之外,您还可以考虑单一责任。考虑到改变的一个原因 - 或者更多的是对叔叔的更新定义"A module should be responsible to one, and only one, actor"

你可能最终得到每个module的设置 - 你添加的越多,这只会变大。当然,只要稍后再改变一切 - 但这种情况永远不会发生。

对我来说,身份是它自己的系统。不是你的系统。它提供了一种身份验证机制。它使用用户类中的大多数列或用户类中的字段来执行此操作。

您的设置与您的应用有关 - 这是您的域名。如果替换Identity,则可以替换该用户表/用户类。然后你的设置会在哪里结束?

© www.soinside.com 2019 - 2024. All rights reserved.