在 VS 2013 中,当您创建 File-->New Project-->MVC 时,默认身份验证机制设置为 Individual User Accounts,从而使用新的 ASP 创建项目。 NET 身份的东西。
事实证明,这包括一堆新的库,例如:
- Microsoft.AspNet.Identity.Core.dll
- Microsoft.AspNet.Identity.EntityFramework.dll
- 许多其他 dll
此外,项目模板还在 Models 文件夹中添加了一个新的IdentityModels.cs 文件。
查看该文件,您会注意到一个实现 IdentityUser 的 ApplicationUser 类。
还有一个ApplicationDbContext等...
查看AccountController 内部,您会看到UserManager 属性。
所有这些新东西都与新的 ASP.NET 标识相关
如果您要创建一个新项目,但这次将身份验证机制更改为 No Authentication,您会注意到其中没有任何新的 ASP.NET Identity 内容。
在 VS 2012 中,当您创建一个新项目并选择 Internet Application 时,默认情况下它将使用 SimpleMembership,这要归功于 WebMatrix.Data and WebMatrix.WebData dll(顺便说一下,这些 dll 不存在于 MVC 5.0 应用程序中)。
此外,如果您查看AccountController,您会注意到触发创建数据库的[InitializeSimpleMembership] 操作过滤器。
到目前为止,我还没有回答您的问题,但我的理解(我必须提到我没有尝试或测试过)是您可以继续在 ASP.NET MVC 5.0 应用程序中使用 SimpleMembership 作为很长(当然),因为您没有包含前面提到的任何 ASP.NET Identity 内容。
当您说“我正在迁移到更新版本”时,您的意思是您只是在更新 MVC dll 的版本吗?
或
您的意思是您现在正在使用新的 ASP.NET 身份,并且正在寻找一种方法将您的用户从 SimpleMembership 迁移到新的身份表?
就像我说的,我没有尝试过从 MVC 4.0 迁移到 5.0,但如果我必须这样做,我只会到处升级 MVC dll 和其他东西没有触摸或添加任何东西与 ASP.NET 身份相关。
我会继续使用 SimpleMembership。
不确定这是否会有所帮助(或没有),但这是我对事物的理解。
否则,您可能想看看这个post