public async Task Update_Deve_Atualizar_Usuario_Existente_Com_Nova_Senha() { //Arrange await AuthenticateAsync(EUserRole.Administrator); var responseAux = await Client.PostAsJsonAsync(_defaultRoute + ApiRoutes.Users.Create, _newMemberUser); var userAux = await responseAux.Content.ReadAsAsync <User>(); responseAux.StatusCode.Should().Be(HttpStatusCode.OK); userAux.Should().NotBeNull(); userAux.Password = "******"; //Act var response = await Client.PutAsJsonAsync(_defaultRoute + ApiRoutes.Users.Update.Replace("{id:int}", userAux.Id.ToString()), userAux); var user = await response.Content.ReadAsAsync <User>(); //Assert response.StatusCode.Should().Be(HttpStatusCode.OK); user.Id.Should().BeGreaterThan(0); user.Name.Should().Be(userAux.Name); user.Password.Should().Be(MD5Hash.CalculaHash("@ABC123")); user.Role.Should().Be(userAux.Role); }
public static async Task GenerateUsers(DataContext context) { var users = await context .Users .AsNoTracking() .FirstOrDefaultAsync(x => x.Role == EUserRole.Administrator); if (users != null) { return; } var adminUserLeo = new User( "Leandro", "*****@*****.**", "leolandrooo", MD5Hash.CalculaHash("@123456*"), EUserRole.Administrator); var adminUserRock = new User( "Rock", "*****@*****.**", "rock", MD5Hash.CalculaHash("@123456*"), EUserRole.Administrator); var adminUserJalaska = new User( "Jalaska", "*****@*****.**", "jalaska", MD5Hash.CalculaHash("@123456*"), EUserRole.Administrator); var memberUserJoao = new User( "Joao", "*****@*****.**", "joao", MD5Hash.CalculaHash("@123456*"), EUserRole.Member); var editorUserMaria = new User( "Maria", "*****@*****.**", "maria", MD5Hash.CalculaHash("@123456*"), EUserRole.Editor); context.Users.AddRange(adminUserLeo, adminUserRock, adminUserJalaska, memberUserJoao, editorUserMaria); await context.SaveChangesAsync(); }
private async Task EncryptPassword(User entity) { if (entity.Id == 0) { entity.Password = MD5Hash.CalculaHash(entity.Password); return; } //updating user var user = await GetById(entity.Id); if (user != null && user.Password != entity.Password) { entity.Password = MD5Hash.CalculaHash(entity.Password); } }
public async Task Create_Deve_Criar_Usuario_Retornando_Usuario_Criado() { //Arrange await AuthenticateAsync(EUserRole.Administrator); //Act var response = await Client.PostAsJsonAsync(_defaultRoute + ApiRoutes.Users.Create, _newMemberUser); var user = await response.Content.ReadAsAsync <User>(); //Assert response.StatusCode.Should().Be(HttpStatusCode.OK); user.Id.Should().BeGreaterThan(0); user.Name.Should().Be(_newMemberUser.Name); user.Password.Should().Be(MD5Hash.CalculaHash(_newMemberUser.Password)); user.Role.Should().Be(_newMemberUser.Role); }
public bool ValidatingLogin(Usuario usuario) { usuario.Passwd = MD5Hash.CalculaHash(usuario.Passwd); using (var contexto = new LocadoraContext()) { var usuarios = contexto.Usuarios .Where(u => u.User.ToUpper().Contains(usuario.User.ToUpper())) .Where(u => u.Passwd.ToUpper().Contains(usuario.Passwd.ToUpper())) .ToList(); if (usuarios.Count > 0) { Session.usuario = usuario; return(true); } } return(false); }
public bool InsertUser(Usuario usuario) { //Deixou a senha no padrão MD5 usuario.Passwd = MD5Hash.CalculaHash(usuario.Passwd); using (var contexto = new LocadoraContext()) { try { contexto.Usuarios.Add(usuario); contexto.SaveChanges(); return(true); } catch { return(false); } } }
public async Task GetById_Deve_Retornar_UM_Usuario_Do_Banco() { //Arrange await AuthenticateAsync(EUserRole.Administrator); var responseAux = await Client.PostAsJsonAsync(_defaultRoute + ApiRoutes.Users.Create, _newMemberUser); var userAux = await responseAux.Content.ReadAsAsync <User>(); responseAux.StatusCode.Should().Be(HttpStatusCode.OK); userAux.Should().NotBeNull(); //Act var response = await Client.GetAsync(_defaultRoute + ApiRoutes.Users.GetById.Replace("{id:int}", userAux.Id.ToString())); var user = await response.Content.ReadAsAsync <User>(); //Assert response.StatusCode.Should().Be(HttpStatusCode.OK); user.Id.Should().BeGreaterThan(0); user.Name.Should().Be(_newMemberUser.Name); user.Password.Should().Be(MD5Hash.CalculaHash(_newMemberUser.Password)); user.Role.Should().Be(_newMemberUser.Role); }
public async Task Update_Deve_Atualizar_Usuario_Existente() { //Arrange await AuthenticateAsync(EUserRole.Administrator); var responseAux = await Client.GetAsync(_defaultRoute + ApiRoutes.Users.GetById.Replace("{id:int}", "2")); var userAux = await responseAux.Content.ReadAsAsync <User>(); userAux.Name = "updatedUser"; userAux.Role = EUserRole.Editor; //Act var response = await Client.PutAsJsonAsync(_defaultRoute + ApiRoutes.Users.Update.Replace("{id:int}", userAux.Id.ToString()), userAux); var user = await response.Content.ReadAsAsync <User>(); //Assert response.StatusCode.Should().Be(HttpStatusCode.OK); user.Id.Should().BeGreaterThan(0); user.Name.Should().Be("updatedUser"); user.Password.Should().Be(MD5Hash.CalculaHash(_newMemberUser.Password)); user.Role.Should().Be(EUserRole.Editor); }
private void btnAlterar_Click(object sender, EventArgs e) { try { u.codigo = Convert.ToInt32(txtCodigo.Text); u.puxarDadosCliente(u.codigo); string login = u.login; u.nome = txtNome.Text; u.login = txtLogin.Text; u.senha = txtSenha.Text; string confirmaSenha = txtConfirmaSenha.Text; string q = "select login_usuario from tcc.usuarios where login_usuario='" + u.login + "'"; c.abrirConexao(); MySqlCommand verificaLogin = new MySqlCommand(q, c.mcon); MySqlDataReader readerLogin = verificaLogin.ExecuteReader(); if (readerLogin.Read() && u.login != login) { if (u.login == "") { MessageBox.Show("Nenhum campo pode ficar em branco!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else { MessageBox.Show("Esse login já está em uso, por favor utilize outro!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); readerLogin.Close(); c.fecharConexao(); } } else { if (u.nome == "" || u.login == "" || u.senha == "" || confirmaSenha == "") { MessageBox.Show("Nenhum campo pode ficar em branco!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else if (u.senha != confirmaSenha) { MessageBox.Show("As senhas não conferem!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else if (validaSenha >= 1) { MessageBox.Show("Melhore a força da senha!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else { u.senhacrip = MD5Hash.CalculaHash(u.senha); u.tipoUsuario = 0; u.alterarUsuario(u.codigo, u.tipoUsuario); this.Close(); MessageBox.Show("Seus dados foram alterados, relogue para que as alterações tenham efeito!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { MessageBox.Show("Erro ao alterar seus dados! \n" + ex, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnCadastrar_Click(object sender, EventArgs e) { try { string confirmarSenha = ""; u.nome = txtNome.Text; u.login = txtLogin.Text; u.senha = txtSenha.Text; confirmarSenha = txtConfirmarSenha.Text; string q = "select login_usuario from tcc.usuarios where login_usuario='" + u.login + "'"; string w = "select email_usuario from tcc.usuarios where email_usuario='" + u.email + "'"; c.abrirConexao(); MySqlCommand verificaLogin = new MySqlCommand(q, c.mcon); MySqlDataReader readerLogin = verificaLogin.ExecuteReader(); if (readerLogin.Read()) { if (u.login == "") { MessageBox.Show("Nenhum campo pode ficar em branco!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else { MessageBox.Show("Esse login já está em uso, por favor utilize outro!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); readerLogin.Close(); c.fecharConexao(); } } else { u.tipoUsuario = 1; u.status = 0; u.reset = 0; if (u.nome == "" || u.login == "" || u.senha == "" || confirmarSenha == "") { MessageBox.Show("Nenhum campo pode ficar em branco!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else if (u.senha != confirmarSenha) { MessageBox.Show("As senhas não conferem!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else if (validaSenha >= 1) { MessageBox.Show("Melhore a força da senha!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else { u.senhacrip = MD5Hash.CalculaHash(u.senha); u.cadastrarUsuario(u.tipoUsuario); this.Close(); } } } catch (Exception ex) { MessageBox.Show("Erro ao cadastrar o instrutor! \n" + ex, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnIniciar_Click(object sender, EventArgs e) { try { string login, senha; login = txtLogin.Text; senha = txtSenha.Text; string q = "select id_usuario, nome_usuario,login_usuario,senha_usuario,tipo_usuario from tcc.usuarios where login_usuario='" + login + "'"; c.abrirConexao(); MySqlCommand puxarDados = new MySqlCommand(q, c.mcon); MySqlDataReader reader = puxarDados.ExecuteReader(); if (reader.Read()) { u.codigo = reader.GetInt32("id_usuario"); t.nome_instrutor = reader.GetString("nome_usuario"); u.login = reader.GetString("login_usuario"); u.senha = reader.GetString("senha_usuario"); u.tipoUsuario = reader.GetInt32("tipo_usuario"); u.senhacrip = MD5Hash.CalculaHash(senha); if (u.senhacrip == u.senha) { if (u.tipoUsuario == 0 || u.tipoUsuario == 1) { AutoClosingMessageBox.Show("Login efetuado com sucesso!", "Aviso", 1500, MessageBoxButtons.OK, MessageBoxIcon.Information); frmTelaPrincipal frm = new frmTelaPrincipal(); frm.tipoUsuario = u.tipoUsuario; this.Close(); frm.Show(); string nomeCompleto = t.nome_instrutor; var nomes = nomeCompleto.Split(' '); string primeiroNome = nomes[0]; frm.lblNomeUser.Text += nomes[0]; frm.lblHora.Text = DateTime.Now.ToString(); nomeInstrutor = nomeCompleto; codigoSessao = u.codigo; nomeSessao = t.nome_instrutor; loginSessao = u.login; } else { MessageBox.Show("Esse usuário não possui permissão para entrar!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtLogin.Text = ""; txtSenha.Text = ""; } } else { if (senha != "") { MessageBox.Show("Senha incorreta!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtSenha.Text = ""; } else { MessageBox.Show("Campos Inválidos!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } else { if (login == "" || senha == "") { MessageBox.Show("Campos Inválidos!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtSenha.Text = ""; } else { MessageBox.Show("O usuário não existe!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txtLogin.Text = ""; txtSenha.Text = ""; } } reader.Close(); c.fecharConexao(); } catch (Exception ex) { MessageBox.Show("Erro ao logar! \n" + ex, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public async Task <ActionResult <dynamic> > Authenticate( [FromServices] IUserService userService, [FromBody] User requestUser) { try { var users = await userService.Find(x => x.UserName == requestUser.UserName && x.Password == MD5Hash.CalculaHash(requestUser.Password)); if (users == null || users.Count() == 0) { return(NotFound(new { message = Messages.USUARIO_OU_SENHA_INVALIDOS })); } var user = users.FirstOrDefault(); var token = TokenService.GenerateToken(user); return(new { user = new { id = user.Id, name = user.Name, username = user.UserName, email = user.Email, role = user.Role.ToString() }, token = token }); } catch { return(BadRequest(new { message = Messages.NAO_FOI_POSSIVEL_AUTENTICAR_O_USUARIO })); } }
private void btnCadastrar_Click(object sender, EventArgs e) { try { string confirmaSenha = ""; u.nome = txtNome.Text; u.datanasc = txtDataNasc.Text; u.sexo = cbSexo.Text; u.email = txtEmail.Text; u.login = txtLogin.Text; u.senha = txtSenha.Text; confirmaSenha = txtConfirmaSenha.Text; u.tipoUsuario = 2; u.status = 0; u.reset = 0; if (txtPeso.Text != "" && txtAltura.Text != "") { u.peso = Convert.ToDouble(txtPeso.Text); u.altura = Convert.ToDouble(txtAltura.Text); } else { MessageBox.Show("Nenhum campo pode ficar em branco!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } string q = "select login_usuario from tcc.usuarios where login_usuario='" + u.login + "'"; string w = "select email_usuario from tcc.usuarios where email_usuario='" + u.email + "'"; c.abrirConexao(); MySqlCommand verificaLogin = new MySqlCommand(q, c.mcon); MySqlCommand verificaEmail = new MySqlCommand(w, c.mcon); MySqlDataReader readerLogin = verificaLogin.ExecuteReader(); if (readerLogin.Read()) { if (u.login == "") { MessageBox.Show("Nenhum campo pode ficar em branco!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else { MessageBox.Show("Esse login já está em uso, por favor utilize outro!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); readerLogin.Close(); c.fecharConexao(); } } else { readerLogin.Close(); MySqlDataReader readerEmail = verificaEmail.ExecuteReader(); if (readerEmail.Read()) { if (u.email == "") { MessageBox.Show("Nenhum campo pode ficar em branco!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else { MessageBox.Show("Esse email já está em uso, por favor utilize outro!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); readerEmail.Close(); c.fecharConexao(); } } else { int validaData = 0; int validaEmail = 0; try { var email = new System.Net.Mail.MailAddress(u.email); } catch { validaEmail += 1; } try { DateTime dt = DateTime.ParseExact(u.datanasc, "d/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture); } catch { validaData += 1; } if (u.nome == "" || u.peso == 0 || u.altura == 0 || u.sexo == "" || u.email == "" || u.login == "" || u.senha == "" || confirmaSenha == "") { MessageBox.Show("Nenhum campo pode ficar em branco!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else if (confirmaSenha != u.senha) { MessageBox.Show("As senhas não conferem!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else if (validaData >= 1) { MessageBox.Show("A data digita é inválida!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else if (validaEmail >= 1) { MessageBox.Show("O email digitado é inválido!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else if (validaSenha >= 1) { MessageBox.Show("Melhore a força da senha!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); c.fecharConexao(); } else { u.senhacrip = MD5Hash.CalculaHash(u.senha); u.cadastrarUsuario(u.tipoUsuario); this.Close(); readerEmail.Close(); c.fecharConexao(); } } } } catch (Exception ex) { MessageBox.Show("Erro ao cadastrar o cliente! \n" + ex, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }