/// <summary>
        /// Metodo para fazer login
        /// </summary>
        /// <param name="email">Propriedade de email passada no corpo da requisição</param>
        /// <param name="senha">Propriedade de senha passada no corpo da requisição</param>
        /// <returns>Um usuario logado</returns>
        public usuarioDomain Login(string email, string senha)
        {
            using (SqlConnection con = new SqlConnection(ConexaoString))
            {
                string queryLogin = "******";


                using (SqlCommand cmd = new SqlCommand(queryLogin, con))
                {
                    cmd.Parameters.AddWithValue("@email", email);
                    cmd.Parameters.AddWithValue("@Senha", senha);

                    con.Open();


                    SqlDataReader rdr = cmd.ExecuteReader();

                    if (rdr.Read())
                    {
                        usuarioDomain LoginUsuario = new usuarioDomain
                        {
                            idUsuario     = Convert.ToInt32(rdr["idUsuario"]),
                            idTipoUsuario = Convert.ToInt32(rdr["idTipoUsuario"]),
                            senha         = rdr["senha"].ToString(),
                            email         = rdr["email"].ToString()
                        };

                        return(LoginUsuario);
                    }

                    return(null);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Método de listar todos os Jogos
        /// </summary>
        /// <returns>Uma Lista de jogos</returns>
        public List <usuarioDomain> Listar()
        {
            List <usuarioDomain> listaUsuario = new List <usuarioDomain>();

            using (SqlConnection con = new SqlConnection(stringConexao))
            {
                string querrySelectAll = "SELECT IdUsuario ,Email, Senha, Titulo AS Permissao FROM Usuario U INNER JOIN TipoUsuario TU ON u.IdTipoUsuario = TU.IdTipoUsuario WHERE Email = @email AND Senha = @senha";

                con.Open();

                SqlDataReader rdr;

                using (SqlCommand cmd = new SqlCommand(querrySelectAll, con))
                {
                    rdr = cmd.ExecuteReader();


                    while (rdr.Read())
                    {
                        usuarioDomain usuario = new usuarioDomain()
                        {
                            Email = rdr[0].ToString(),
                            Senha = rdr[1].ToString()
                        };
                        listaUsuario.Add(usuario);
                    }
                }
                return(listaUsuario);
            }
        }
        public IActionResult Login(usuarioDomain login)
        {
            usuarioDomain usuarioBuscado = _usuarioRepository.buscarPorEmailSenha(login.Email, login.Senha);

            if (usuarioBuscado == null)
            {
                return(NotFound("Email ou senha invalidos!"));
            }
            var claims = new[]
            {
                //Tipo de claim
                new Claim(JwtRegisteredClaimNames.Email, usuarioBuscado.Email),
                new Claim(JwtRegisteredClaimNames.Jti, usuarioBuscado.IdUsuario.ToString()),
                new Claim(ClaimTypes.Role, usuarioBuscado.Permissao),
                new Claim("Claim Personalizada", "Valor teste")
            };

            var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("usuarios-chave-autenticacao"));

            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

            var token = new JwtSecurityToken(
                issuer: "InLock.webApi",              //Emissor do token
                audience: "InLock.webApi",            //Quem recebe o token, para fazer a validação
                claims: claims,
                expires: DateTime.Now.AddMinutes(30), //Acrescenta alguns minutos á expiração do token
                signingCredentials: creds
                );

            return(Ok(new
            {
                token = new JwtSecurityTokenHandler().WriteToken(token)
            }));
        }
Beispiel #4
0
        public usuarioDomain buscarPorEmailSenha(string email, string senha)
        {
            using (SqlConnection con = new SqlConnection(stringConexao))
            {
                string querrySelectAll = "SELECT IdUsuario, TU.IdTipoUsuario ,Email, Senha, Titulo AS Permissao FROM Usuario U INNER JOIN TipoUsuario TU ON u.IdTipoUsuario = TU.IdTipoUsuario WHERE Email = @email AND Senha = @senha";

                using (SqlCommand cmd = new SqlCommand(querrySelectAll, con))
                {
                    cmd.Parameters.AddWithValue("@email", email);
                    cmd.Parameters.AddWithValue("@senha", senha);

                    con.Open();

                    SqlDataReader rdr = cmd.ExecuteReader();

                    if (rdr.Read())
                    {
                        usuarioDomain usuariobuscado = new usuarioDomain
                        {
                            IdUsuario     = Convert.ToInt32(rdr[0]),
                            IdTipoUsuario = Convert.ToInt32(rdr[1]),
                            Email         = rdr[2].ToString(),
                            Senha         = rdr[3].ToString(),
                            Permissao     = rdr[4].ToString(),
                        };
                        return(usuariobuscado);
                    }
                    return(null);
                }
            }
        }
        public List <usuarioDomain> ListarTodos()
        {
            List <usuarioDomain> listaUsuarios = new List <usuarioDomain>();

            using (SqlConnection con = new SqlConnection(conexaoSql))
            {
                string querySelect = "SELECT * FROM Usuarios";

                SqlDataReader rdr;

                using (SqlCommand cmd = new SqlCommand(querySelect, con))
                {
                    con.Open();

                    rdr = cmd.ExecuteReader();

                    while (rdr.Read())
                    {
                        usuarioDomain usuario = new usuarioDomain()
                        {
                            idUsuario = Convert.ToInt32(rdr["idUsuario"]),
                            permissao = Convert.ToInt32(rdr["idTipoUsuario"]),
                            email     = rdr["Email"].ToString(),
                            senha     = rdr["senha"].ToString()
                        };
                        listaUsuarios.Add(usuario);
                    }
                    return(listaUsuarios);
                }
            }
        }
        public usuarioDomain BuscarPorId(int id)
        {
            using (SqlConnection con = new SqlConnection(conexaoSql))
            {
                string        querySelect = "SELECT * FROM Usuarios WHERE idUsuario = @ID";
                SqlDataReader rdr;

                using (SqlCommand cmd = new SqlCommand(querySelect, con))
                {
                    cmd.Parameters.AddWithValue("@ID", id);

                    con.Open();

                    rdr = cmd.ExecuteReader();

                    if (rdr.Read())
                    {
                        usuarioDomain usuarioBuscado = new usuarioDomain()
                        {
                            idUsuario = Convert.ToInt32(rdr["idUsuario"]),
                            permissao = Convert.ToInt32(rdr["idTipoUsuario"]),
                            email     = rdr["Email"].ToString(),
                            senha     = rdr["Senha"].ToString()
                        };
                        return(usuarioBuscado);
                    }
                    return(null);
                }
            }
        }
        public usuarioDomain Login(string email, string senha)
        {
            using (SqlConnection con = new SqlConnection(conexaoSql))
            {
                string querySelect = "SELECT idUsuario, idTipoUsuario, Email, Senha FROM Usuarios WHERE Email = @email AND Senha = @senha";

                SqlDataReader rdr;

                using (SqlCommand cmd = new SqlCommand(querySelect, con))
                {
                    cmd.Parameters.AddWithValue("@email", email);
                    cmd.Parameters.AddWithValue("@senha", senha);

                    con.Open();

                    rdr = cmd.ExecuteReader();

                    if (rdr.Read())
                    {
                        usuarioDomain usuario = new usuarioDomain()
                        {
                            idUsuario = Convert.ToInt32(rdr["idUsuario"]),
                            permissao = Convert.ToInt32(rdr["idTipoUsuario"]),
                            email     = rdr["Email"].ToString(),
                            senha     = rdr["Senha"].ToString()
                        };
                        return(usuario);
                    }
                    return(null);
                }
            }
        }
        public IActionResult Login(usuarioDomain login)
        {
            usuarioDomain usuario = _usuarioRepository.Login(login.email, login.senha);

            if (usuario == null)
            {
                return(NotFound("login incorreto, verifique se email e senha estão corretos"));
            }

            var claims = new[]
            {
                new Claim(JwtRegisteredClaimNames.Email, usuario.email),
                new Claim(JwtRegisteredClaimNames.Jti, usuario.idUsuario.ToString()),
                new Claim(ClaimTypes.Role, usuario.permissao.ToString())
            };

            var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("pedro-felipe-barros"));

            var credencial = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

            var token1 = new JwtSecurityToken(
                issuer: "Peoples.webApi",
                audience: "Peoples.webApi",
                claims: claims,
                expires: DateTime.Now.AddMinutes(30),
                signingCredentials: credencial);

            return(Ok(new
            {
                token = new JwtSecurityTokenHandler().WriteToken(token1)
            }));
        }
        public IActionResult Logiin(usuarioDomain user)
        {
            usuarioDomain UsuarioLogado = _usuarioRepository.Login(user.email, user.senha);

            if (UsuarioLogado == null)
            {
                return(NotFound("E-mail ou senha inválida"));
            }

            var Definitionclaims = new[]
            {
                new Claim(JwtRegisteredClaimNames.Email, UsuarioLogado.email),
                new Claim(JwtRegisteredClaimNames.Jti, UsuarioLogado.idUsuario.ToString()),
                new Claim(ClaimTypes.Role, UsuarioLogado.idTipoUsuario.ToString())
            };

            var chaveSeguranca = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes("Chave-Seguranca-Api-autenticacao"));

            var credenciais = new SigningCredentials(chaveSeguranca, SecurityAlgorithms.HmacSha256);

            var token = new JwtSecurityToken(
                issuer: "Inlock.webApi",
                audience: "Inlock.webApi",
                claims: Definitionclaims,
                expires: DateTime.Now.AddMinutes(30),
                signingCredentials: credenciais


                );

            return(Ok(new
            {
                token = new JwtSecurityTokenHandler().WriteToken(token)
            }));
        }
        public IActionResult BuscarPorId(int id)
        {
            usuarioDomain usuario = _usuarioRepository.BuscarPorId(id);

            if (usuario == null)
            {
                return(NotFound());
            }
            return(Ok(usuario));
        }
        public IActionResult Atualizar(int id, usuarioDomain novasinfos)
        {
            usuarioDomain usuario = _usuarioRepository.BuscarPorId(id);

            if (usuario != null)
            {
                _usuarioRepository.Atualizar(novasinfos);

                return(StatusCode(204));
            }
            return(NotFound("O usuario que vc quer atualizar não existe"));
        }
        public void Cadastrar(usuarioDomain novoUsuario)
        {
            using (SqlConnection con = new SqlConnection(conexaoSql))
            {
                string queryInsert = "INSERT INTO Usuarios(idTipoUsuario,Email,Senha) VALUES (@idTipoUsuario,@Email,@Senha)";

                using (SqlCommand cmd = new SqlCommand(queryInsert, con))
                {
                    cmd.Parameters.AddWithValue("@idTipoUsuario", novoUsuario.permissao);
                    cmd.Parameters.AddWithValue("@Email", novoUsuario.email);
                    cmd.Parameters.AddWithValue("@Senha", novoUsuario.senha);

                    con.Open();

                    cmd.ExecuteNonQuery();
                }
            }
        }
        public void Atualizar(usuarioDomain novaInfos)
        {
            using (SqlConnection con = new SqlConnection(conexaoSql))
            {
                string queryUpdate = "UPDATE Usuarios SET  idTipoUsuario = @permissao, Email = @email, senha = @senha";

                using (SqlCommand cmd = new SqlCommand(queryUpdate, con))
                {
                    cmd.Parameters.AddWithValue("@permissao", novaInfos.permissao);
                    cmd.Parameters.AddWithValue("@email", novaInfos.email);
                    cmd.Parameters.AddWithValue("@senha", novaInfos.senha);

                    con.Open();

                    cmd.ExecuteNonQuery();
                }
            }
        }
Beispiel #14
0
        /// <summary>
        /// Método de Cadastrar um novo jogo
        /// </summary>
        /// <param name="novoUsuario"></param>
        ///
        public void Cadastrar(usuarioDomain novoUsuario)
        {
            using (SqlConnection con = new SqlConnection(stringConexao))
            {
                string queryInsert = "INSERT INTO Usuario(IdTipoUsuario,Email, Senha) VALUES(@IdTipoUsuario ,@Email ,@Senha)";
                using (SqlCommand cmd = new SqlCommand(queryInsert, con))
                {
                    cmd.Parameters.AddWithValue("@IdTipoUsuario", novoUsuario.IdTipoUsuario);
                    cmd.Parameters.AddWithValue("@Email", novoUsuario.Email);
                    cmd.Parameters.AddWithValue("@Senha", novoUsuario.Senha);

                    //Abre a conexão com o banco de dados
                    con.Open();

                    //Executa a querry
                    cmd.ExecuteNonQuery();
                }
            }
        }
        public IActionResult Post(usuarioDomain novoUsuario)
        {
            _usuarioRepository.Cadastrar(novoUsuario);

            return(StatusCode(201));
        }
        public IActionResult Cadastrar(usuarioDomain infos)
        {
            _usuarioRepository.Cadastrar(infos);

            return(StatusCode(201));
        }