MVC5和ASPNET Identity 2.0

时间:2015-03-25 17:16:54

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

我对建议持开放态度,但我发现让身份以最小的努力工作的唯一方法是进行迁移设置:

    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网络应用程序并登录各种帐户。我还能够注册新用户并更新现有帐户。一切似乎都很好。

对于我所做的事情是否会产生长期的负面影响和/或您是否采用了更清晰但更整洁的方法来使Identity 2.0与MVC5协同工作?

修改 上下文:我正在从具有本地帐户表和安全性的多个数据库迁移数据,因此我创建了一个控制台应用程序,用于从三个数据库中剔除帐户表以创建标识基于控制台应用程序的帐户,用于播种所有历史数据。所以上面的代码驻留在控制台应用程序中,而不是mvc5项目中。一旦历史数据被播种,包括身份表,我就有一个单独的解决方案来托管一个利用新模式的mvc5 web项目。

1 个答案:

答案 0 :(得分:0)

我已经阅读了很多关于typecast http://typecastexception.com/post/2014/04/20/ASPNET-MVC-and-Identity-20-Understanding-the-Basics.aspx以及asp.net和Scott Gu博客的精彩概述的帖子,但我无法找到任何简单或事实上的事情。我需要什么。