【问题标题】:.Net Identity 2 vs 3.Net 身份 2 与 3
【发布时间】:2018-06-01 10:11:29
【问题描述】:

我了解 .NET Identity,但是关于 Identity 2 和 Identity 3 的文章越来越多。后者(Identity 3)似乎只适用于 .NET Core 解决方案。所以正在考虑使用 Identity 2。但我不清楚:

  • v2 和 v3 有什么区别?
  • 是否仍支持 v2?

【问题讨论】:

  • 我不知道版本号,但Microsoft.AspNetCore.Identity 是将“身份”(如支持个人用户帐户)引入 ASP.NET Core 的包。它是唯一与 ASP.NET Core 集成的“ASP.NET Identity”包,它也仅适用于 ASP.NET Core。其他“ASP.NET 标识”通常针对经典的 ASP.NET。
  • 值得指出的是,Identity 3 与 .NET Core 3(2019 年 9 月发布)没有直接的版本控制关系。Identity 3 是几年前发布的。除了包引用 (docs.microsoft.com/en-us/aspnet/core/migration/22-to-30) 中版本号的更改之外,.NET Core 3 没有“新版本”。这只是恰好被称为“3”的两件事。

标签: asp.net asp.net-core asp.net-membership asp.net-identity-2 asp.net-identity-3


【解决方案1】:

您的选择很简单。如果您构建 MVC5 应用程序,则只能使用 Identity 2。如果您正在构建 ASP.Net Core 应用程序,则只能使用 Identity 3。

Identity 2 已获得支持,但尚未积极开发。 IE。错误将被修复,但不会提供新功能。

如果您正在开始一个新项目,那么我认为没有理由使用 MVC5。所有新建项目都应该在 ASP.Net Core 中使用 Identity 3 完成

【讨论】:

    【解决方案2】:

    您可以在 Asp.Net Core 中使用身份 2 并将密码哈希保存在数据库中。只需在 startup.cs 中添加此代码

     services.Configure<PasswordHasherOptions>(options => {
              options.CompatibilityMode = PasswordHasherCompatibilityMode.IdentityV2;
          });
    

    【讨论】:

    • 顺便说一句...我正在使用带有身份 v2 的 Asp.Net Core 和 asp.net Web 表单。
    • 我已经尝试过了,但它似乎不起作用。您知道的某个地方是否有一篇文章涵盖了这个主题?
    • 请记住 @jfielaidof 您需要再次创建用户(使用 identityV2 实现),因为身份 v2 中的令牌与身份 3 不同。
    猜你喜欢
    • 2016-12-08
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 2014-09-04
    • 2017-07-27
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多