【问题标题】:MVC5 and ASPNET Identity 2.0MVC5 和 ASPNET 标识 2.0
【发布时间】:2015-05-29 12:16:00
【问题描述】:

我愿意接受建议,但我发现让 Identity 以最小的努力工作的唯一方法是进行这样的迁移设置:

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
  modelBuilder.Entity<IdentityUser>().HasKey(l => l.Id).ToTable("AspNetUsers");
  modelBuilder.Entity<IdentityUserLogin>().HasKey<string>(l => l.UserId).ToTable("AspNetUserLogins");
  modelBuilder.Entity<IdentityRole>().HasKey<string>(r => r.Id).ToTable("AspNetRoles");
  modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.RoleId, r.UserId }).ToTable("AspNetUserRoles");
  modelBuilder.Entity<IdentityUserClaim>().HasKey(r => new { r.Id }).ToTable("AspNetUserClaims");}

在我用用户数据植入表格后,我就能够启动我的 MVC5 Web 应用程序并像使用各种帐户一样登录。我还能够注册新用户并更新现有帐户。一切似乎都很好。

对我所做的事情是否有长期的负面影响和/或您是否有一种更简洁但整洁的方法来让 Identity 2.0 与 MVC5 一起使用?

编辑: 上下文:我正在从具有本地帐户表和安全性的多个数据库中迁移数据,因此我正在创建一个控制台应用程序,该应用程序从三个数据库中剔除帐户表,以便在控制台应用程序中创建基于身份的帐户种子所有的历史数据。所以上面的代码驻留在控制台应用程序中,而不是 mvc5 项目中。播种历史数据(包括身份表)后,我有一个单独的解决方案来托管一个使用新架构的 mvc5 Web 项目。

【问题讨论】:

  • 不,但一个更有趣的问题是,为什么您首先需要这样做。这些配置都不是必需的,因此您添加然后它工作的事实可能掩盖了一个更严重的问题。
  • 为问题添加了上下文。

标签: asp.net-mvc-5 asp.net-identity-2


【解决方案1】:

我在 typecast http://typecastexception.com/post/2014/04/20/ASPNET-MVC-and-Identity-20-Understanding-the-Basics.aspx 以及 asp.net 和 Scott Gu 的博客上阅读了大量关于优秀概述的文章,但我找不到任何比我需要的更简单或事实上的东西。

【讨论】:

    猜你喜欢
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 2018-03-28
    • 1970-01-01
    • 2014-10-06
    相关资源
    最近更新 更多