protected void _btnSalvar_Click(object sender, EventArgs e) { if (ValidarAlterarSenha()) { try { // Carrega os dados do usuário 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 }; SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuario); // Configura criptografia da senha eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(entityUsuario.usu_criptografia), true); if (!Enum.IsDefined(typeof(eCriptografa), criptografia)) { criptografia = eCriptografa.TripleDES; } // Verifica a senha do usuário comparando com a senha atual if (!UtilBO.EqualsSenha(entityUsuario.usu_senha, UtilBO.CriptografarSenha(_txtSenhaAtual.Text, criptografia), criptografia)) { string mensagemSenhaAtualInvalida = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemSenhaAtualIncorreta); _lblMessageAlterarSenha.Text = UtilBO.GetErroMessage(string.IsNullOrEmpty(mensagemSenhaAtualInvalida) ? "Senha atual inválida." : mensagemSenhaAtualInvalida, UtilBO.TipoMensagem.Erro); _updAlterarSenha.Update(); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro ao alterar senha. Senha atual inválida."); } else { // Atualiza dados do usuário entityUsuario.usu_situacao = 1; entityUsuario.usu_senha = _txtNovaSenha.Text; entityUsuario.usu_dataAlteracao = DateTime.Now; SYS_UsuarioBO.AlterarSenhaAtualizarUsuario(entityUsuario, entityUsuario.usu_integracaoAD == (byte)SYS_UsuarioBO.eIntegracaoAD.IntegradoADReplicacaoSenha); // Configura usuário na Session LoadSession(entityUsuario); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha alterada com sucesso."); string mensagemSenhaAlterada = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.LoginMensagemSenhaAlteradaSucesso); __SessionWEB.PostMessages = UtilBO.GetErroMessage(string.IsNullOrEmpty(mensagemSenhaAlterada) ? "Senha alterada com sucesso." : mensagemSenhaAlterada, UtilBO.TipoMensagem.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); return; } } RedirecionarLogin(false); } } catch (DuplicateNameException ex) { lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true); } catch (ArgumentException ex) { lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true); } catch (ValidationException ex) { lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar alterar a senha do usuário.", UtilBO.TipoMensagem.Erro); ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true); } } else { _updAlterarSenha.Update(); } }
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); } } }