Asp.net mvc 被ASP.NET标识和IdentityDbContext弄糊涂了
我已经有一段时间没有认真使用ASP.NET身份验证了,我有点生疏了。尤其是现在ASP.NET身份是最重要的。我希望我能解释我在做什么,让别人告诉我为什么,我的假设哪里是错的,或者它们是否是错的 我正在构建的应用程序将符合HIPAA,因此我无法在数据库中存储任何个人身份信息。因此,我花了一些时间研究ASP.NET Identity是如何工作的,注意了诸如我的ApplicationUser(从IdentityUser继承)以及ApplicationDbContext(从IdentityDbContext继承)之类的内容。我读了一些MSDN的文章等等 然后我注意到IdentityDbContext似乎与数据库中的AspNetUsers表相关联。然后,我注意到AspNetUsers表中有一些与我有关的内容,因为我正在编写一个无法存储任何可识别个人身份的应用程序:电子邮件和电话号码列 所以我想把它们去掉。我仔细查看了一下,发现AspNetUsers表映射到IdentityDbContext的DbSet属性(请参阅)。TUser是ApplicationUser,它继承自IdentityUser。并且IdentityUser有电子邮件(请参阅) 所以…在所有这些之后…我的问题是:如果我想创建自己版本的AspNetUsers,而不使用电话号码/电子邮件地址等。我必须创建自己的IUser实现来代替IdentityUser,对吗 那么,我在做这件事时会遇到什么特别的哥特哈斯,或者这应该是一项相当简单的任务吗?我是否只想从数据库中删除电子邮件,就要消化掉大量预先编写的代码 就我个人而言,将Email属性作为与用户身份相关的任何基本类的一部分似乎是不合理的——特别是当ASP.NET身份被吹捧为高度灵活的东西时(对我来说,让人们将自己的Email属性添加到自动生成的ApplicationUser类中似乎更合理)Asp.net mvc 被ASP.NET标识和IdentityDbContext弄糊涂了,asp.net-mvc,asp.net-identity,asp.net-identity-2,Asp.net Mvc,Asp.net Identity,Asp.net Identity 2,我已经有一段时间没有认真使用ASP.NET身份验证了,我有点生疏了。尤其是现在ASP.NET身份是最重要的。我希望我能解释我在做什么,让别人告诉我为什么,我的假设哪里是错的,或者它们是否是错的 我正在构建的应用程序将符合HIPAA,因此我无法在数据库中存储任何个人身份信息。因此,我花了一些时间研究ASP.NET Identity是如何工作的,注意了诸如我的ApplicationUser(从IdentityUser继承)以及ApplicationDbContext(从IdentityDbConte
对我来说,为一个我可以写任何东西的专栏担心这么多似乎是愚蠢的,但对于任何曾经处理过HIPAA法规的人来说,这可能会让你内心产生妄想症(并且想尽一切可能删除任何可能被误认为持有个人信息的内容) 丢掉一个电话号码应该不是问题。删除Email字段将是一个更大的痛苦,因为它被框架使用 我将实现自己的
IUserStore
(以及所有相关的)类。有关初步指导,请参阅本帖子:
然后使用他们的
UserStore
,将需要电子邮件出现的所有信息都提取出来。创建自己的IUser
实体,而不必为不需要的字段操心。Asp.Net标识的可扩展性如下所示。