【问题标题】:Migrating ASP.NET SQL Membership to ASP.NET Identity with Database First使用数据库优先将 ASP.NET SQL 成员身份迁移到 ASP.NET 标识
【发布时间】:2014-04-20 05:31:41
【问题描述】:

我有一个旧的 ASP.NET 应用程序,它使用 SQL Membership 并使用 aspnet_ 表来管理登录名、密码和角色等。

我想使用 MVC 5 重写应用程序,但它使用 ASP.NET Identity,我还没有找到使用新身份验证方法迁移到它的简单方法。

我尝试关注http://www.asp.net/identity/overview/migrations/migrating-an-existing-website-from-sql-membership-to-aspnet-identity 但尽管让所有 SQL 脚本都能正常执行,但这似乎不起作用。

当尝试创建一个全新的 ASP.NET MVC 5 应用程序时,我无法将其绑定到我当前的数据库中。我尝试将 DB Context 连接字符串设置为我的实体框架连接字符串,但它不喜欢那样。

有人有将旧的 .NET 应用程序迁移到 MVC 5 并保留用户数据库的经验吗?

【问题讨论】:

  • 我目前正在做同样的任务。也许如果你指定你到底卡在哪里,你得到什么样的异常等等。
  • 你愿意坚持使用现有的数据库吗?我已经能够做到这一点。
  • @tintyethan:任何关于您如何完成的提示/链接/陷阱将不胜感激。
  • 我在新应用程序中关闭了所有身份并继续使用 aspnetservicesdb 数据库。这意味着更改连接字符串并删除对身份/简单成员身份的引用。
  • 你最后解决了吗?我现在正在努力解决这个问题!

标签: asp.net asp.net-mvc migration identity sqlmembershipprovider


【解决方案1】:

如果您的密码未在数据库中散列(单向加密),我会说进行数据迁移。我的意思是,如果您使用 DES 和 AES 之类的东西进行加密并且密码是可恢复的,那么数据迁移对您有效,您可以摆脱旧的会员资格提供商。

否则,进行基于令牌的身份验证并在旧成员的基础上创建一个 WebAPI 服务来发布令牌,剩下的工作将与 db 无关。

【讨论】:

    【解决方案2】:

    关于上一个答案中提到的密码哈希问题。 当将我们的一个旧 Web 应用程序从 MVC 3(具有 SQL 成员资格)移动到 ASP.NET Core(具有身份)时,我们设法解决了这个问题。 这是blog post 的分步说明

    【讨论】:

      猜你喜欢
      • 2021-10-05
      • 1970-01-01
      • 2016-11-24
      • 2013-06-22
      • 2012-08-27
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多