protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity <User>().HasKey(u => new { u.Id, u.Username }); modelBuilder.Entity <Role>().HasData( new Role { Id = 1, Name = "creator" }, new Role { Id = 2, Name = "reader" }); modelBuilder.Entity <User>().HasData( new User { Id = 1, Username = "******", Password = PasswordManager.ComputeSha256Hash("admin"), RoleId = 1 }, new User { Id = 2, Username = "******", Password = PasswordManager.ComputeSha256Hash("reader"), RoleId = 2 }); modelBuilder.Entity <Robot>().HasData( new Robot { Id = 1, Name = "Robot1", Price = "10.00€" }, new Robot { Id = 2, Name = "Robot2", Price = "10.00€" }, new Robot { Id = 3, Name = "Robot3", Price = "10.00€" }, new Robot { Id = 4, Name = "Robot4", Price = "10.00€" } ); }
public async Task <ActionResult> Login(string username, string password) { var passwordHash = PasswordManager.ComputeSha256Hash(password); var user = await _context.Users.Include(u => u.Role).SingleAsync(u => u.Username == username); if (user == null) { return(NotFound()); } else { if (user.Password == passwordHash) { return(Ok(new { data = TokenManager.GenerateToken(user), username = user.Username })); } else { return(NotFound()); } } }