private static bool IsValid(HttpRequestMessage request)
        {
            var header = request.Headers;

            if (header.Authorization != null && header.Authorization.Scheme.Equals(SCHEME))
            {
                var credentials = header.Authorization.Parameter;
                if (!string.IsNullOrWhiteSpace(credentials))
                {
                    var decodedCredentials = Encoding.UTF8.GetString(Convert.FromBase64String(credentials));

                    string[] split    = decodedCredentials.Split(':');
                    string   username = split[0].Trim();
                    string   password = split[1].Trim();

                    CFG_UsuarioAPI userAPI = CFG_UsuarioAPIBO.SelecionaAtivos().FirstOrDefault(p => p.uap_username.Equals(username));
                    if (userAPI != null)
                    {
                        return(userAPI.uap_password.Equals(password));
                    }
                }
            }

            return(false);
        }
Beispiel #2
0
        public HttpResponseMessage Delete([FromBody] DeletarUsuarioDTO data)
        {
            try
            {
                //Recupera usuário da API
                CFG_UsuarioAPI entityUsuarioAPI = CFG_UsuarioAPIBO.SelecionaPorUsername(Util.ReturnCredentialUserName(Request));

                return(Usuario.Delete(data, entityUsuarioAPI, Request));
            }
            catch (Exception ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Beispiel #3
0
 protected void grvUsuarioAPI_DataBinding(object sender, EventArgs e)
 {
     try
     {
         GridView grv = ((GridView)sender);
         if (grv.DataSource == null)
         {
             VS_ltUsuarioAPI = CFG_UsuarioAPIBO.SelecionaAtivos();
             grv.DataSource  = VS_ltUsuarioAPI;
         }
     }
     catch (Exception ex)
     {
         ApplicationWEB._GravaErro(ex);
         lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar usuários API.", UtilBO.TipoMensagem.Erro);
         updMessage.Update();
     }
 }
Beispiel #4
0
        public HttpResponseMessage AssociateUserGroup([FromUri] Guid id, [FromBody] AssociarUsuarioGrupoEntradaDTO data)
        {
            try
            {
                //Recupera usuário da API
                CFG_UsuarioAPI entityUsuarioAPI = CFG_UsuarioAPIBO.SelecionaPorUsername(Util.ReturnCredentialUserName(Request));

                //Atualiza o usuário
                Usuario.AssociateUserGroup(id, data, entityUsuarioAPI);

                return(Request.CreateResponse(HttpStatusCode.OK, "Grupo de usuário associado com sucesso."));
            }
            catch (ValidationException ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }
            catch (Exception ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Beispiel #5
0
        public HttpResponseMessage UpdateLogin([FromBody] AlterarLoginEntradaDTO data)
        {
            try
            {
                //Recupera usuário da API
                CFG_UsuarioAPI entityUsuarioAPI = CFG_UsuarioAPIBO.SelecionaPorUsername(Util.ReturnCredentialUserName(Request));

                //Atualiza login do usuário
                Usuario.UpdateLogin(data, entityUsuarioAPI);

                return(Request.CreateResponse(HttpStatusCode.OK, "Login alterado com sucesso."));
            }
            catch (ValidationException ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }
            catch (Exception ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Beispiel #6
0
        public HttpResponseMessage CreateV2([FromBody] UsuarioEntradaDTO data)
        {
            try
            {
                //Recupera usuário da API
                CFG_UsuarioAPI entityUsuarioAPI = CFG_UsuarioAPIBO.SelecionaPorUsername(Util.ReturnCredentialUserName(Request));

                //Cria o usuário
                Usuario.CreateV2(data, entityUsuarioAPI);

                return(Request.CreateResponse(HttpStatusCode.Created, "Usuário criado com sucesso."));
            }
            catch (ValidationException ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }
            catch (Exception ex)
            {
                Util.GravarErro(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Beispiel #7
0
        protected void grvUsuarioAPI_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            GridView grv = ((GridView)sender);

            try
            {
                if (!Boolean.Parse(grv.DataKeys[e.RowIndex]["IsNew"].ToString()))
                {
                    CFG_UsuarioAPI entity = new CFG_UsuarioAPI
                    {
                        uap_id = Convert.ToInt32(grv.DataKeys[e.RowIndex]["uap_id"])
                        ,
                        uap_situacao = Convert.ToByte(grv.DataKeys[e.RowIndex]["uap_situacao"])
                    };

                    if (CFG_UsuarioAPIBO.Delete(entity))
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "uap_id: " + entity.uap_id);
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário API excluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                        grv.DataBind();
                    }
                }
            }
            catch (ValidationException ex)
            {
                lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir usuário API.", UtilBO.TipoMensagem.Erro);
            }
            finally
            {
                updMessage.Update();
            }
        }
Beispiel #8
0
        public HttpResponseMessage UpdatePassword([FromBody] RedefinirSenhaEntradaDTO data)
        {
            RedefinirSenhaSaidaDTO retorno = new RedefinirSenhaSaidaDTO();

            try
            {
                SYS_Usuario entity = new SYS_Usuario
                {
                    ent_id = data.ent_id
                    ,
                    usu_login = data.usu_login
                };
                SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entity);

                // Verifica se o id do usuário enviado existe na base de dados.
                if (entity.IsNew)
                {
                    retorno.Message    = "Usuário não encontrado.";
                    retorno.statusCode = (int)HttpStatusCode.NotFound;
                    return(Request.CreateResponse <RedefinirSenhaSaidaDTO>(HttpStatusCode.NotFound, retorno));
                }

                // Configura criptografia da senha
                eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(entity.usu_criptografia), true);
                if (!Enum.IsDefined(typeof(eCriptografa), criptografia))
                {
                    criptografia = eCriptografa.TripleDES;
                }

                if (!UtilBO.EqualsSenha(entity.usu_senha, data.senhaAtual, criptografia))
                {
                    retorno.Message    = "Senha atual inválida.";
                    retorno.statusCode = (int)HttpStatusCode.Unauthorized;
                    return(Request.CreateResponse <RedefinirSenhaSaidaDTO>(HttpStatusCode.Unauthorized, retorno));
                }

                if (data.senhaAtual.Equals(data.senhaNova))
                {
                    retorno.Message    = "Senha nova deve ser diferente da atual.";
                    retorno.statusCode = (int)HttpStatusCode.BadRequest;
                    return(Request.CreateResponse <RedefinirSenhaSaidaDTO>(HttpStatusCode.BadRequest, retorno));
                }

                entity.usu_senha = data.senhaNova;

                SYS_UsuarioBO.AlterarSenhaUsuario(entity, false);

                retorno.Message    = "Senha alterada com sucesso.";
                retorno.statusCode = (int)HttpStatusCode.OK;

                CFG_UsuarioAPI entityUsuarioAPI = CFG_UsuarioAPIBO.SelecionaPorUsername(data.uap_username);

                LOG_UsuarioAPIBO.Save
                (
                    new LOG_UsuarioAPI
                {
                    usu_id = entity.usu_id
                    ,
                    uap_id = entityUsuarioAPI.uap_id
                    ,
                    lua_dataHora = DateTime.Now
                    ,
                    lua_acao = (byte)LOG_UsuarioAPIBO.eAcao.AlteracaoSenha
                }
                );

                return(Request.CreateResponse <RedefinirSenhaSaidaDTO>(HttpStatusCode.OK, retorno));
            }
            catch (Exception ex)
            {
                retorno.Message    = ex.Message;
                retorno.statusCode = (int)HttpStatusCode.InternalServerError;
                Util.GravarErro(ex);
                return(Request.CreateResponse <RedefinirSenhaSaidaDTO>(HttpStatusCode.InternalServerError, retorno));
            }
        }
Beispiel #9
0
        protected void grvUsuarioAPI_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            GridView grv = ((GridView)sender);

            try
            {
                CFG_UsuarioAPI entity = new CFG_UsuarioAPI
                {
                    IsNew = Convert.ToBoolean(grv.DataKeys[e.RowIndex]["IsNew"])
                    ,
                    uap_id = Convert.ToInt32(grv.DataKeys[e.RowIndex]["uap_id"])
                    ,
                    uap_situacao = Convert.ToByte(grv.DataKeys[e.RowIndex]["uap_situacao"])
                };

                TextBox txtUsuario = (TextBox)grv.Rows[e.RowIndex].FindControl("txtUsuario");
                if (txtUsuario != null)
                {
                    entity.uap_username = txtUsuario.Text;
                }

                TextBox txtSenha = (TextBox)grv.Rows[e.RowIndex].FindControl("txtSenha");
                if (txtSenha != null)
                {
                    entity.uap_password = txtSenha.Text;
                }

                DropDownList ddlSituacao = (DropDownList)grv.Rows[e.RowIndex].FindControl("ddlSituacao");
                if (ddlSituacao != null)
                {
                    entity.uap_situacao = Convert.ToByte(ddlSituacao.SelectedValue);
                }

                if (Page.IsValid && CFG_UsuarioAPIBO.Save(entity))
                {
                    if (entity.IsNew)
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "uap_id: " + entity.uap_id);
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário API incluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                    }
                    else
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "uap_id: " + entity.uap_id);
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário API alterado com sucesso.", UtilBO.TipoMensagem.Sucesso);
                    }

                    grv.EditIndex = -1;
                    grv.DataBind();
                }
            }
            catch (ValidationException ex)
            {
                lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (DuplicateNameException ex)
            {
                lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar usuário API.", UtilBO.TipoMensagem.Erro);
            }
            finally
            {
                updMessage.Update();
            }
        }