gpt4 book ai didi

sql-server - ASP.NET 身份 2 到 3

转载 作者:行者123 更新时间:2023-12-02 19:20:49 24 4
gpt4 key购买 nike

对,所以..我想我很困惑!

我有一些使用 ASP.NET Identity 2.1 运行的 ASP.NET MVC 5 站点,一切都很棒。我正在创建一个新的 MVC 6 站点,我希望用户使用他们用于其他系统的现有凭据。我已经尝试过以下方法:

  1. 将 ASP.NET 身份 2 数据库迁移到 3(说它不能,因为表已经存在,我认为它会诚实地迁移用户)
  2. 尝试让 MVC 6 与 ASP.NET Identity 2.1 配合使用,但惨败

我只是想知道我的选择是什么,因为新版本的文档不太好,我知道数据库中有 DDL 更改,但我希望有一种方法可以让我的 MVC 5 网站承载.NET Identity 3 数据库向后兼容 2.1。

我的另一个选择是升级 MVC 5 应用程序以使用 Identity 3,我认为这意味着将它们更新到 MVC 6,这是我真正没有资源的东西,或者拥有一个全新的 Identity 数据库(这似乎是最不麻烦的选择)。

任何意见都会有所帮助,毫无疑问,我错过了一些细节,因此如果有人对设置有任何进一步的疑问,我很乐意填补空白。

最佳答案

我也在做同样的事情,这是一个很大的努力 - 你必须运行数据库迁移,但首先

ASP Identity V3 表和迁移

The ASP Identity V3 Tables &  Migration

ASP Identity V3 字段

The fields inside the users table, you can extend this, see below

配置表在 Startup.cs 中并更改 services.AddIdentity

   services.AddIdentity<ApplicationUser, IdentityRole<int>>()
.AddEntityFrameworkStores<ApplicationDbContext, int>()
.AddDefaultTokenProviders();

在ApplicationContext.cs中并将类更改为以下签名。

 public class ApplicationDbContext : IdentityDbContext<ApplicationUser, IdentityRole<int>, int>

在 ApplicationUser.cs 中,将类更改为以下签名。

`public class ApplicationUser : IdentityUser<int> {...}`
  • 考虑到所有的变化,我发现删除目录中的所有内容都更容易迁移文件夹(迁移除外)。转到命令提示符项目目录并输入/添加迁移,如下所示 dotnet
    ef 迁移添加 MyDatabaseHere -o Data\Migrations
    。 (-o选项是指定目标文件夹而不是根文件夹)
  • 对于迁移方面的任何问题,我只需删除数据库并重新部署即可。
  • 或者您可以使用 this 进行自动化我没试过这个

我从 EF 获得了两个迁移脚本,我不知道为什么...但要从 github 链接获取更多引用 1 & 2

关于sql-server - ASP.NET 身份 2 到 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36764434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com