/// <summary> /// Verifica se será necessário autenticar no webservice do cliente ou se utilizará senha salva no autenticador /// </summary> /// <param name="usu"> Objeto Usuário carregado do autenticador</param> /// <returns>Enum indicando onde será feita a validação: 1 [Webservice], 2 [Histórico de senhas] e 3 [Não encontrado a integração]</returns> public static eValidacaoWebService VerificaSenhaUsuarioWebService(SYS_Usuario usu) { eValidacaoWebService status = eValidacaoWebService.ValidarNoWebService; SYS_IntegracaoExternaTipoBO ietBO = new SYS_IntegracaoExternaTipoBO(); SYS_IntegracaoExternaTipo ietEntity = new SYS_IntegracaoExternaTipo { iet_id = usu.usu_integracaoExterna }; if (ietBO.getById(ietEntity)) { Guid usu_id = usu.usu_id; DataTable dtSenha = SYS_UsuarioSenhaHistoricoBO.SelecionaUltimaSenha(usu_id, null); if (dtSenha.Rows.Count > 0) { DateTime ush_data = Convert.ToDateTime(dtSenha.Rows[0]["max_data"].ToString()); TimeSpan a = DateTime.Now.Subtract(ush_data); if (a.Days > ietEntity.iet_qtdeDiasAutenticacao) { status = eValidacaoWebService.ValidarNoWebService; } else { status = eValidacaoWebService.ValidarComSenhaDoHistorico; } } } else { status = eValidacaoWebService.IntegrcacaoNaoEncontrada; } return(status); }
public LoginStatus ValidarAutenticacao(SYS_Usuario entityUsuario) { eVerificaTipoAutenticacao validacaoStatus = eVerificaTipoAutenticacao.UsuNaoEncontrado; int indexAD = entityUsuario.usu_login.IndexOf('\\'); if (indexAD <= 0) { validacaoStatus = VerificaTipoAutenticacao(entityUsuario); } else { validacaoStatus = eVerificaTipoAutenticacao.Autenticador; } LoginStatus status = LoginStatus.NaoEncontrado; //VERIFICA O TIPO DE VALIDAÇÃO if (validacaoStatus == eVerificaTipoAutenticacao.Autenticador) { // Checa as credenciais do usuário status = SYS_UsuarioBO.ValidarLogin(entityUsuario); } else if (validacaoStatus == eVerificaTipoAutenticacao.WebService) { eValidacaoWebService ValidacaoStatus = VerificaSenhaUsuarioWebService(entityUsuario); if (ValidacaoStatus == eValidacaoWebService.ValidarNoWebService) { // TEM QUE VERIFICAR QUAL A INTEGRACAO EXTERNA E DIRECIONAR status = ValidaUsuarioWebService(entityUsuario); } else if (ValidacaoStatus == eValidacaoWebService.ValidarComSenhaDoHistorico && (ValidarUsuarioHistoricoSenha(entityUsuario) == LoginStatus.SenhaInvalida)) { status = ValidaUsuarioWebService(entityUsuario); } else if (ValidacaoStatus == eValidacaoWebService.IntegrcacaoNaoEncontrada) { status = LoginStatus.Erro; } } return(status); }