【问题标题】:Migrating a MVC4 project to MVC5 What about Userprofiles?将 MVC4 项目迁移到 MVC5 Userprofiles 呢?
【发布时间】:2013-12-20 17:00:00
【问题描述】:

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

我现在处于两难境地,因为我的旧项目使用了默认的简单成员资格和相关的数据库架构。但是现在我正在迁移到更新的版本,并且默认的数据库架构非常不同。

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

我可以使用任何其他方式/方法将我的用户迁移到新的数据库架构而不用摆弄他们的密码吗?

【问题讨论】:

    标签: asp.net-mvc-4 asp.net-membership asp.net-mvc-5 simplemembership


    【解决方案1】:

    在 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 文件。

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

    还有一个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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-14
      • 2018-12-18
      • 2022-01-01
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多