gpt4 book ai didi

asp.net-mvc - 对 ASP.NET Identity 和 IdentityDbContext 感到困惑

转载 作者:行者123 更新时间:2023-12-02 03:27:34 24 4
gpt4 key购买 nike

自从我使用 ASP.NET 身份验证完成任何认真的工作以来已经有一段时间了,我有点生疏了。尤其是现在 ASP.NET Identity 已经成为现实。我希望我能解释我在做什么,并让别人告诉我我的假设为什么和哪里错了,或者如果他们没有错。

我正在构建的应用程序将符合 HIPAA 标准,因此我不能在数据库中存储任何个人身份信息。因此,我花了一些时间研究 ASP.NET Identity 的工作原理,注意到诸如我的 ApplicationUser(继承自 IdentityUser)以及 ApplicationDbContext(继承自 IdentityDbContext)。我读了几篇 MSDN 文章等等。

然后我注意到 IdentityDbContext 似乎与数据库中的 AspNetUsers 表相关联。然后,我在 AspNetUsers 表中注意到一些与我有关的内容,因为我正在编写一个无法存储任何个人身份的应用程序:Email 和 PhoneNumber 列。

所以我想删除那些。我深入了解了一下,发现 AspNetUsers 表映射到 IdentityDbContextDbSet 属性(参见 here)。 TUserApplicationUser,它继承自IdentityUserIdentityUser 有电子邮件(参见 here )。

所以...毕竟...我的问题是:如果我想创建我自己的 AspNetUsers 版本而没有电话号码/电子邮件地址等。我将不得不创建我自己实现的 IUser 代替了 IdentityUser,对吗?

那么,我在执行此操作时是否会遇到任何特别的问题,或者这应该是一项相当简单的任务吗?只是想从数据库中删除电子邮件,我是否要删除大量预先编写的代码?

就我个人而言,Email 属性是与用户身份关联的任何基本类的一部分似乎是不合理的——尤其是当 ASP.NET Identity 被吹捧为高度灵活的东西时(对我来说似乎更合理的是让人们将自己的电子邮件属性添加到自动生成的 ApplicationUser 类)。

对我来说,为一个我可以写任何东西的专栏担心太多似乎很愚蠢,但对于任何曾经不得不处理 HIPAA 法规的人来说,它会让你的内心产生偏执(并想尽你所能删除任何可能被误认为持有个人信息的内容)。

最佳答案

摆脱电话号码应该不是问题。删除电子邮件字段将是一个更大的痛苦,因为它被框架使用。

我会实现自己的 IUserStore(以及所有相关的)类。查看此帖子以获取初步指导:http://odetocode.com/blogs/scott/archive/2014/01/20/implementing-asp-net-identity.aspx

然后得到Identity source code使用他们的 UserStore 并删除所有需要电子邮件的部分。

关于asp.net-mvc - 对 ASP.NET Identity 和 IdentityDbContext 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29636521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com