Exemplo n.º 1
0
        public HttpResponseMessage UserAuthorized([FromBody] UsuarioEntradaDTO data)
        {
            try
            {
                if (data == null || data.usu_login == null)
                {
                    throw new ValidationException("É necessário informar o(s) parâmetro(s).");
                }

                SYS_Usuario usuario = new SYS_Usuario
                {
                    usu_login = data.usu_login,
                    usu_senha = data.senha,
                    ent_id    = data.ent_id
                };
                LoginStatus status = SYS_UsuarioBO.LoginWEB(usuario, false);

                bool retorno = false;
                if (status == LoginStatus.Sucesso)
                {
                    retorno = true;
                }

                return(Request.CreateResponse(HttpStatusCode.OK, retorno));
            }
            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));
            }
        }
Exemplo n.º 2
0
        private void Entrar()
        {
            try
            {
                // Carrega os dados do usuário necessário para o login
                SYS_Usuario entityUsuario = new SYS_Usuario
                {
                    ent_id = new Guid(this.entidade)
                    ,
                    usu_login = this.login
                    ,
                    usu_senha = this.senha
                };

                // Checa as credenciais do usuário
                LoginStatus status   = SYS_UsuarioBO.LoginWEB(entityUsuario);
                var         mensagem = "";

                switch (status)
                {
                case LoginStatus.Erro:
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro ao tentar entrar no sistema.", entityUsuario.usu_login);
                    mensagem         = "Erro ao tentar entrar no sistema.";
                    retorno.Mensagem = MensagemDeRetorno(mensagem, UtilBO.TipoMensagem.Erro);
                    UtilBO.MessageJSON(this.Context.Response.Output, retorno);
                    break;
                }

                case LoginStatus.Bloqueado:
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Usuário bloqueado.", entityUsuario.usu_login);
                    mensagem         = "Usuário bloqueado.";
                    retorno.Mensagem = MensagemDeRetorno(mensagem, UtilBO.TipoMensagem.Alerta);
                    UtilBO.MessageJSON(this.Context.Response.Output, retorno);
                    break;
                }

                case LoginStatus.NaoEncontrado:
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Usuário não encontrado.", entityUsuario.usu_login);
                    mensagem         = "Usuário e/ou senha inválidos.";
                    retorno.Mensagem = MensagemDeRetorno(mensagem, UtilBO.TipoMensagem.Alerta);

                    UtilBO.MessageJSON(this.Context.Response.Output, retorno);
                    break;
                }

                case LoginStatus.SenhaInvalida:
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha inválida.", entityUsuario.usu_login);
                    mensagem         = "Usuário e/ou senha inválidos.";
                    retorno.Mensagem = MensagemDeRetorno(mensagem, UtilBO.TipoMensagem.Alerta);
                    UtilBO.MessageJSON(this.Context.Response.Output, retorno);
                    break;
                }

                case LoginStatus.Expirado:
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha expirada.", entityUsuario.usu_login);
                    mensagem         = "Senha expirada.";
                    retorno.Mensagem = MensagemDeRetorno(mensagem, UtilBO.TipoMensagem.Alerta);
                    UtilBO.MessageJSON(this.Context.Response.Output, retorno);
                    break;
                }

                case LoginStatus.Sucesso:
                {
                    // Configura usuário na Session
                    LoadSession(entityUsuario);
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Login efetuado com sucesso.");

                    if (!string.IsNullOrEmpty(this.urlSistema))
                    {
                        //Chama o Login.ashx do site cliente.
                        this.Context.Response.Redirect(this.urlSistema, false);
                        HttpContext.Current.ApplicationInstance.CompleteRequest();
                    }
                    else
                    {
                        retorno.Mensagem = MensagemDeRetorno("sucesso", UtilBO.TipoMensagem.Alerta);
                        UtilBO.MessageJSON(this.Context.Response.Output, retorno);
                    }

                    break;
                }
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                retorno.Mensagem = UtilBO.GetErroMessage("Erro ao tentar entrar no sistema.", UtilBO.TipoMensagem.Erro);
                UtilBO.MessageJSON(this.Context.Response.Output, retorno);
            }
        }
Exemplo n.º 3
0
        protected void btnEntrar_Click(object sender, EventArgs e)
        {
            if (ValidarLogin())
            {
                try
                {
                    // Carrega os dados do usuário necessário para o login
                    SYS_Usuario entityUsuario = new SYS_Usuario
                    {
                        ent_id = UCComboEntidade1.Valor
                        ,
                        usu_login = (RadioButtonList1.SelectedIndex == 0
                                        ? ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, Guid.Empty)
                                        : ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_RESPONSAVEL_AREA_ALUNO, Guid.Empty)) + txtLogin.Text
                        ,
                        usu_senha = txtSenha.Text
                    };

                    // Checa as credenciais do usuário
                    LoginStatus status = SYS_UsuarioBO.LoginWEB(entityUsuario);

                    switch (status)
                    {
                    case LoginStatus.Erro:
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro ao tentar entrar no sistema." + entityUsuario.usu_login);
                        lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar entrar no sistema.", UtilBO.TipoMensagem.Erro);
                        txtLogin.Focus();
                        break;
                    }

                    case LoginStatus.Bloqueado:
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Usuário bloqueado." + entityUsuario.usu_login);
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário bloqueado.", UtilBO.TipoMensagem.Alerta);
                        txtLogin.Focus();
                        break;
                    }

                    case LoginStatus.NaoEncontrado:
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Usuário não encontrado." + entityUsuario.usu_login);

                        //mostra para o usuário a mensagem abaixo
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário e/ou senha inválidos.", UtilBO.TipoMensagem.Alerta);
                        txtLogin.Focus();
                        break;
                    }

                    case LoginStatus.SenhaInvalida:
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha inválida." + entityUsuario.usu_login);

                        //mostra para o usuário a mensagem abaixo
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário e/ou senha inválidos.", UtilBO.TipoMensagem.Alerta);
                        txtLogin.Focus();

                        break;
                    }

                    case LoginStatus.Expirado:
                    {
                        ConfigurarTelaSenhaExpirada(entityUsuario);
                        break;
                    }

                    case LoginStatus.Sucesso:
                    {
                        // Zera a quantidade de falhas de autenticação para o usuário.
                        SYS_UsuarioFalhaAutenticacaoBO.ZeraFalhaAutenticacaoUsuario(entityUsuario.usu_id);

                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Login efetuado com sucesso.");

                        // Autenticação SAML.
                        SYS_UsuarioBO.AutenticarUsuario(entityUsuario);

                        // Configura usuário na Session
                        LoadSession(entityUsuario);

                        // Se selecionou para logar como responsável, verifica se esse ele é responsável por um aluno só,
                        //  ou caso tenha mais, redireciona para uma tela de selação de alunos
                        if (RadioButtonList1.SelectedIndex == 1)
                        {
                            DataTable dtAlunosDoResponsavel = ACA_AlunoResponsavelBO.SelecionaAlunosPorResponsavel(entityUsuario.pes_id);

                            Session["Pes_Id_Responsavel"] = entityUsuario.pes_id.ToString();

                            Session["Qtde_Filhos_Responsavel"] = dtAlunosDoResponsavel.Rows.Count;

                            if (dtAlunosDoResponsavel.Rows.Count > 1)
                            {
                                //Session["Pes_Id_Responsavel"] = entityUsuario.pes_id.ToString();
                                RedirecionarLogin(true);
                                break;
                            }
                        }

                        RedirecionarLogin(false);

                        break;
                    }
                    }
                }
                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 entrar no sistema.", UtilBO.TipoMensagem.Erro);
                }
            }
        }