关于现有解决方案的.Net Identity 3

时间:2017-12-18 03:19:57

标签: .net-core asp.net-membership identityserver4 asp.net-core-2.0 asp.net-identity-3

我认为.NET Identity 3无法在现有的(v4.5)ASP.NET解决方案上运行,但需要.NET Core。我无法更新到.NET Core。这有解决方法吗?如果没有那么人们应该如何从ASP.NET成员资格迁移到ASP.Net Identity?

1 个答案:

答案 0 :(得分:0)

  1. 首先,我需要注意ASP.NET Core(与Identity 3一起使用)不需要.NET Core。它可以在.NET Core或.NET Framework 4.6.1(或更高版本)上使用。

  2. 我猜你在两种情况下都使用默认方法(成员资格和身份),当有关用户,角色,密码等的所有信息存储在某个数据库中时。

  3. 因此,从Membership迁移到Identity的最佳方法如下:

    • 使用默认模板和" Authentication"创建一个新的ASP.NET Core项目。打开
    • 然后编写一个小型控制台程序,它将所有与用户相关的信息从旧的成员资格表移动到新的成员资格表(由ASP.NET身份自动创建)
    • 然后逐个移动所有其他控制器和视图。

    这里唯一的问题是身份不会识别密码'使用Membership创建的哈希。要解决此问题,您需要定义自己的IPasswordHasher接口实现,并将其注册到DI容器中,如this article中所述。