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

问题描述 投票:0回答:1

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

.net-core asp.net-membership identityserver4 asp.net-core-2.0 asp.net-identity-3
1个回答
0
投票
  1. 首先,我需要注意ASP.NET Core(与Identity 3一起使用)不需要.NET Core。它可以在.NET Core或.NET Framework 4.6.1(或更高版本)上使用。
  2. 我猜你在两种情况下都使用默认方法(成员身份和身份),当有关用户,角色,密码等的所有信息都存储在某个数据库中时。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.