/// <summary>
        /// Insere um registro de falha de autenticação para o usuário, ou incrementa 1
        /// no contador de erros caso o usuário já tenha errado, no intervalo de minutos informado.
        /// Caso o último erro do usuário tenha sido depois desse intervalo, reinicia o contador pra 1.
        /// Retorna o registro do usuário com a quantidade erros efetuada.
        /// </summary>
        /// <param name="usu_id">ID do usuário que efetuou o login com falha</param>
        /// <param name="minutosIntervalo">Quantidade de minutos que deve considerar como intervalo de espera para reiniciar o contador</param>
        /// <returns></returns>
        public SYS_UsuarioFalhaAutenticacao InsereFalhaAutenticacaoUsuario(Guid usu_id, int minutosIntervalo)
        {
            QuerySelectStoredProcedure qs = new QuerySelectStoredProcedure("NEW_SYS_UsuarioFalhaAutenticacao_InsereFalhaUsuario", this._Banco);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Guid;
            Param.ParameterName = "@usu_id";
            Param.Size          = 16;
            Param.Value         = usu_id;
            qs.Parameters.Add(Param);

            Param               = qs.NewParameter();
            Param.DbType        = DbType.Int32;
            Param.ParameterName = "@minutosIntervalo";
            Param.Size          = 4;
            Param.Value         = minutosIntervalo;
            qs.Parameters.Add(Param);

            qs.Execute();

            DataTable dt = qs.Return;
            SYS_UsuarioFalhaAutenticacao entity = new SYS_UsuarioFalhaAutenticacao();

            if (dt.Rows.Count > 0)
            {
                entity = DataRowToEntity(dt.Rows[0], entity);
            }

            return(entity);
        }
Esempio n. 2
0
    private void SalvaExibeCaptcha(Guid usu_id)
    {
        if (SYS_ParametroBO.ParametroValorBooleano(SYS_ParametroBO.eChave.UTILIZAR_CAPTCHA_FALHA_AUTENTICACAO))
        {
            SYS_UsuarioFalhaAutenticacao entFalha = SYS_UsuarioFalhaAutenticacaoBO.InsereFalhaAutenticacaoUsuario(usu_id);

            if (entFalha.ufl_qtdeFalhas >= SYS_ParametroBO.Parametro_QtdeFalhasExibirCaptcha())
            {
                divCaptcha.Visible = true;
            }
        }
    }
Esempio n. 3
0
    private bool VerificaDigitacaoCaptcha(Guid usu_id)
    {
        if (divCaptcha.Visible || !SYS_ParametroBO.ParametroValorBooleano(SYS_ParametroBO.eChave.UTILIZAR_CAPTCHA_FALHA_AUTENTICACAO))
        {
            return(false);
        }

        SYS_UsuarioFalhaAutenticacao entFalha = SYS_UsuarioFalhaAutenticacaoBO.GetEntity
                                                    (new SYS_UsuarioFalhaAutenticacao {
            usu_id = usu_id
        });

        int minutosDiferenca = SYS_ParametroBO.Parametro_IntervaloMinutosFalhaAutenticacao();

        if (entFalha.ufl_qtdeFalhas >= SYS_ParametroBO.Parametro_QtdeFalhasExibirCaptcha() &&
            entFalha.ufl_dataUltimaTentativa.AddMinutes(minutosDiferenca) >= DateTime.Now)
        {
            divCaptcha.Visible = true;
        }

        return(divCaptcha.Visible);
    }
 protected override bool Inserir(SYS_UsuarioFalhaAutenticacao entity)
 {
     throw new NotImplementedException();
 }
 public override bool Carregar(SYS_UsuarioFalhaAutenticacao entity)
 {
     __STP_LOAD = "NEW_SYS_UsuarioFalhaAutenticacao_Load";
     return(base.Carregar(entity));
 }
 public override bool Delete(SYS_UsuarioFalhaAutenticacao entity)
 {
     throw new NotImplementedException();
 }