将MVC4项目迁移到MVC5用户配置文件如何



我有一个使用VS2012设计的MVC4项目,我将其迁移到了MVC5。我的项目中没有使用OAuth或外部登录。

我现在陷入了困境,因为我的旧项目使用了默认的SimpleMembership和相关的数据库模式。但现在我正在迁移到一个新版本,默认的数据库模式大不相同。

我可以使用我的自定义表,但在迁移用户时需要帮助。由于数据库成员身份模式不同,我真的很困惑,不知道该怎么办。我唯一能想到的就是重新生成用户密码,并通过电子邮件发送给我的用户,希望他们阅读电子邮件。

我是否可以使用其他方式/方法将用户迁移到新的数据库模式,而不必篡改他们的密码?

在VS 2013中,当您创建文件-->新项目-->MVC时,默认身份验证机制设置为个人用户帐户,从而使用新ASP创建项目。NET标识之类的东西。

这包括了一堆新的库,例如:

  • 微软。AspNet。身份Core.dll
  • 微软。AspNet。身份EntityFramework.dll
  • 许多其他dll

此外,项目模板还在Models文件夹中添加了一个新的IdentityModels.cs文件。

查看该文件,您会注意到一个实现IdentityUserApplicationUser类。

还有一个ApplicationDbContext等。。。查看AccountController内部,您将看到一个UserManager属性。

所有这些新东西都与新的ASP有关。NET标识


如果您要创建一个新项目,但这次将身份验证机制更改为无身份验证,您会注意到。NET标识的东西就在那里。


在VS 2012中,当您创建一个新项目并选择Internet Application时,由于WebMatrix.Data and WebMatrix.WebDatadll(顺便说一句,MVC 5.0应用程序中不存在),默认情况下它将使用SimpleMembership

此外,如果您查看AccountController,您会注意到[InitializeSimpleMembership]操作过滤器触发了数据库的创建。


到目前为止,我还没有回答您的问题,但我的理解(我必须提到,我没有尝试或测试过)是,您可以继续在ASP中使用SimpleMembership。NET MVC 5.0应用程序一样长(当然),因为您不包括任何ASP。NET Identity之类的东西。

当你说">我正在迁移到一个新版本"时,你的意思是你只是在更新MVC dll的版本吗?

你的意思是说你现在正在使用新的ASP。NET Identity的东西,而您现在正在寻找一种方法来将您的用户从SimpleMembership迁移到新的Identity TABLES?

正如我所说,我还没有尝试过从MVC 4.0迁移到5.0,但如果必须这样做,我只会在不接触或添加任何与ASP相关的东西的情况下升级MVC dll和其他东西。NET标识。

我将继续使用SimpleMembership。

不确定这是否会有所帮助,但这是我对事情的理解。

否则,你可能想看看这个后

最新更新