public async Task <UserInfo> ValidateLogin(string email, string password) { try { FleetManHash fleetManHash = new FleetManHash(); using (FleetManContext context = new FleetManContext()) { //Recover Salt string from Database LoginModel loginData = await context.LoginDatas.Where(ld => ld.Email == email).FirstOrDefaultAsync(); if (loginData == null) { return(new UserInfo()); } string validation_hash = fleetManHash.GetHashedPassword(password, loginData.Salt); if (validation_hash.Equals(loginData.Password)) { return(new UserInfo(is_valid: true, role: loginData.Role, cnpj: loginData.Login)); } return(new UserInfo()); } } catch (Exception e) { throw e; } }
protected override void Seed(FleetManDAL.Contexts.FleetManContext context) { // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. Endereco endpadrao = new Endereco() { Logradouro = "Rua um", Bairro = "Penha", Cep = "00000-000", Cidade = "São Paulo", Complemento = "", Numero = "100", UF = "SP" }; var hasher = new FleetManHash(); string salt1 = hasher.GetSalt(); string salt2 = hasher.GetSalt(); List <LoginModel> logins = new List <LoginModel>() { new LoginModel() { Email = "*****@*****.**", Login = "******", Password = hasher.GetHashedPassword("123456789", salt1), Salt = salt1, Role = "Client" }, new LoginModel() { Email = "*****@*****.**", Login = "******", Password = hasher.GetHashedPassword("123456789", salt2), Salt = salt2, Role = "Client" }, new LoginModel() { Email = "system@admin", Login = "******", Password = hasher.GetHashedPassword("admin", salt2), Salt = salt2, Role = "Admin" } }; context.LoginDatas.AddOrUpdate(logins.ToArray()); context.SaveChanges(); List <Cliente> clientes = new List <Cliente>() { new Cliente() { Ativo = true, Nome = "Cliente 1", CNPJ = "12345678900001", Endereco = endpadrao, Email = "*****@*****.**" }, new Cliente() { Ativo = false, Nome = "Cliente 2", CNPJ = "12345678900002", Endereco = endpadrao, Email = "*****@*****.**" } }; context.Clientes.AddOrUpdate(clientes.ToArray()); context.SaveChanges(); List <Veiculo> veiculos = new List <Veiculo>() { new Veiculo() { Ativo = true, Placa = "JKU-2324", Ano = 2002, Marca = "Ford", Modelo = "Focus", Renavam = "01085793408", Chassi = "BHP0RXR54AKNJLEZW", Cliente_CNPJ = "12345678900001", Cliente = clientes[0] }, new Veiculo() { Ativo = false, Placa = "JHU-2134", Ano = 2002, Marca = "Ford", Modelo = "Focus", Renavam = "01085793407", Chassi = "BHP0RXR54AKNJLEZZ", Cliente_CNPJ = "12345678900001", Cliente = clientes[0] }, new Veiculo() { Ativo = true, Placa = "JOU-2214", Ano = 2002, Marca = "Ford", Modelo = "Focus", Renavam = "01085793405", Chassi = "BHP0RXR54AKNJLEZY", Cliente_CNPJ = "12345678900001", Cliente = clientes[1] }, new Veiculo() { Ativo = false, Placa = "JKK-1324", Ano = 2002, Marca = "Ford", Modelo = "Focus", Renavam = "01085793404", Chassi = "BHP0RXR54AKNJLEZX", Cliente_CNPJ = "12345678900002", Cliente = clientes[1] } }; context.Veiculos.AddOrUpdate(veiculos.ToArray()); context.SaveChanges(); List <Motorista> motoristas = new List <Motorista>() { new Motorista() { Ativo = true, Nome = "João", CPF = "12345678900", CNH = "98765432101", Email = "*****@*****.**", Endereco = endpadrao, Cliente_CNPJ = "12345678900002", Cliente = clientes[0] }, new Motorista() { Ativo = false, Nome = "Maria", CPF = "12345678901", CNH = "98765432102", Email = "*****@*****.**", Endereco = endpadrao, Cliente_CNPJ = "12345678900002", Cliente = clientes[0] }, new Motorista() { Ativo = false, Nome = "Jorge", CPF = "12345678902", CNH = "98765432103", Email = "*****@*****.**", Endereco = endpadrao, Cliente_CNPJ = "12345678900001", Cliente = clientes[1] }, new Motorista() { Ativo = true, Nome = "Ana", CPF = "12345678903", CNH = "98765432104", Email = "*****@*****.**", Endereco = endpadrao, Cliente_CNPJ = "12345678900001", Cliente = clientes[1] } }; context.Motoristas.AddOrUpdate(motoristas.ToArray()); context.SaveChanges(); }