0

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

回答

0
  1. 首先,我需要说明的是,ASP.NET Core(与Identity 3一起使用)不需要.NET Core。它可以用于.NET Core或.NET Framework 4.6.1(或更高版本)。

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

所以,从会员到身份迁移的最佳方法是:

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

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