/// <summary> /// Realiza a sincroniza��o das senhas alteradas no AD com o Autenticador. /// </summary> /// <param name="log">Dados do usu�rio.</param> /// <returns></returns> public static bool SincronizaSenhaAlteradaAD(sLOG_UsuarioAD log) { bool processou = false; switch (log.usuarioAD.usa_acao) { case (short)LOG_UsuarioAD.eAcao.IncluirUsuario: case (short)LOG_UsuarioAD.eAcao.ExcluirUsuario: break; case (short)LOG_UsuarioAD.eAcao.AlterarSenha: { SYS_Usuario entityUsuario = log.usuario; entityUsuario.IsNew = false; entityUsuario.usu_senha = log.dadosUsuario.senha; processou = SYS_UsuarioBO.AlterarSenhaAtualizarUsuario(entityUsuario, false, true); } break; default: throw new ValidationException("Opera��o inv�lida."); } return(processou); }
private void AlterarSenhaEsqueci(Guid usu_id, byte usu_situacao, byte usu_integracaoAD) { if (ValidarAlterarSenhaEsqueci()) { try { if (usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Ativo || usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Senha_Expirada) { SYS_Usuario entityUsuario = new SYS_Usuario { usu_id = usu_id }; SYS_UsuarioBO.GetEntity(entityUsuario); entityUsuario.usu_situacao = 1; entityUsuario.usu_senha = txtNovaSenhaEsqueci.Text; entityUsuario.usu_dataAlteracao = DateTime.Now; SYS_UsuarioBO.AlterarSenhaAtualizarUsuario(entityUsuario, usu_integracaoAD == (byte)SYS_UsuarioBO.eIntegracaoAD.IntegradoADReplicacaoSenha); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha alterada com sucesso."); _lblMessage.Text = UtilBO.GetErroMessage("Senha alterada com sucesso.", UtilBO.TipoMensagem.Sucesso); } else if (usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Padrao_Sistema) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro na alteração de senha. Usuário padrão."); _lblMessage.Text = UtilBO.GetErroMessage("Usuário padrão.", UtilBO.TipoMensagem.Alerta); } else { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro na alteração de senha. Usuário bloqueado."); _lblMessage.Text = UtilBO.GetErroMessage("Usuário bloqueado.", 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 alterar a senha do usuário.", UtilBO.TipoMensagem.Erro); } } }
protected void _btnSalvar_Click(object sender, EventArgs e) { if (ValidarAlterarSenha()) { try { SYS_Usuario entityUsuario = new SYS_Usuario { ent_id = new Guid(UCComboEntidade1._Combo.SelectedValue) , usu_login = _txtLogin.Text }; SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuario); eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(entityUsuario.usu_criptografia), true); if (!Enum.IsDefined(typeof(eCriptografa), criptografia)) { criptografia = eCriptografa.SHA512; } 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 { entityUsuario.usu_situacao = 1; entityUsuario.usu_senha = _txtNovaSenha.Text; entityUsuario.usu_dataAlteracao = DateTime.Now; entityUsuario.usu_criptografia = (byte)eCriptografa.SHA512; SYS_UsuarioBO.AlterarSenhaAtualizarUsuario(entityUsuario, entityUsuario.usu_integracaoAD == (byte)SYS_UsuarioBO.eIntegracaoAD.IntegradoADReplicacaoSenha); 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); SYS_UsuarioFalhaAutenticacaoBO.ZeraFalhaAutenticacaoUsuario(entityUsuario.usu_id); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Login efetuado com sucesso."); SignHelper.AutenticarUsuario(entityUsuario); LoadSession(entityUsuario); RedirecionarLogin(entityUsuario.usu_id); } } 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 _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(); } }
public Senha AlterarSenha(string login, string senha, string ativo) { Senha structSenha = new Senha(); try { // Verifica Autenticação de acesso if (!VerificarAuthentication()) { throw new ValidationException("Sem autorização de acesso ao Web Service."); } SYS_Usuario entityUsuario = new SYS_Usuario(); entityUsuario.ent_id = new Guid(SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.ENTIDADE_PADRAO)); entityUsuario.usu_login = login; // Carrega usuário apartir do email e entidade padrão if (SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuario)) { // Configura senha do usuário entityUsuario.usu_criptografia = Convert.ToByte(eCriptografa.MD5); entityUsuario.usu_senha = senha; // Configura situação do usuário if ((entityUsuario.usu_situacao != Convert.ToByte(SYS_UsuarioBO.eSituacao.Bloqueado)) && (entityUsuario.usu_situacao != Convert.ToByte(SYS_UsuarioBO.eSituacao.Excluido)) && (entityUsuario.usu_situacao != Convert.ToByte(SYS_UsuarioBO.eSituacao.Padrao_Sistema))) { if (Convert.ToByte(ativo) == Convert.ToByte(eAtivo.Ativo)) { entityUsuario.usu_situacao = Convert.ToByte(SYS_UsuarioBO.eSituacao.Ativo); } else { entityUsuario.usu_situacao = Convert.ToByte(SYS_UsuarioBO.eSituacao.Senha_Expirada); } } // Salva alterações do usuário if (!SYS_UsuarioBO.AlterarSenhaAtualizarUsuario(entityUsuario, false, false)) { throw new Exception("Não foi possível atualizar usuário."); } } else { throw new Exception("Não foi possível encontrar usuário."); } // Configura Resposta structSenha.senha = senha; structSenha.ativo = ativo; structSenha.status = Convert.ToByte(eStatus.Sucess).ToString(); structSenha.erro = string.Empty; // Grava Log ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, String.Format("usu_id: {0}, alteração de senha via Web Service.", entityUsuario.usu_id)); return(structSenha); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); // Configura Resposta structSenha.senha = senha; structSenha.ativo = ativo; structSenha.status = Convert.ToByte(eStatus.Error).ToString(); structSenha.erro = ex.Message; return(structSenha); } }