使用 ASP.NET Identity 进行数据库设计

标签 database database-design asp.net-identity

众所周知,我们可能会将基于 ASP.NET Identity 的配置文件信息扩展到另一个表或将其包含到默认表(ASPNetUsers)。

假设我在注册时只有两个字段需要填写(用户名和电子邮件),但是在完成注册后,用户可能会也可能不会选择填写额外的个人资料信息(例如性别、生日、真实姓名等) .

我有两种选择,但不确定哪种方式更合适。

  1. 所有个人资料信息(用户名、电子邮件、性别、生日、真实姓名)都包含在默认身份 ASPNetUsers 表中。
  2. 默认身份 ASPNetUsers 表所需的注册信息(用户名和电子邮件),而额外的个人资料信息位于另一个链接到默认身份 ASPNetUsers 表的表中。

或者有更好的选择吗?希望我们能在这次讨论中有所收获。

最佳答案

我会选择选项 2。因为配置文件可能会更改。此外,如果我需要将身份取出到其他服务器,很容易将它们带到那里。或稍后扩展到联合身份(好吧.. 由于同步问题,这可以双向执行)。

关于使用 ASP.NET Identity 进行数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25680127/

相关文章:

c# - mvc5 全局认证检查

database - 部分依赖(数据库)

database-design - 具有动态信息的数据库表

ruby-on-rails - 如何在 Rails 中存储多个可选字段?

mysql - 历史数据存储和计算的数据库问题

.net - 实现 UserManager 以使用自定义类和存储过程

c# - 自定义 Asp.Net Identity 3.0

php - 在 PHP 中存储密码的哈希值

mysql - 认证 mysql 到 .Net

database - 使用 ORM 模型而不是正确的数据库建模