Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
                }
            }
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
            }
        }
Exemplo n.º 10
0
        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);
            }
        }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
        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 }));
            }
        }
Exemplo n.º 13
0
        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);
            }
        }