Пример #1
0
        private void validarEntrada(String username, String password)
        {
            Regex   reg     = new Regex(@"^[a-zA-Z0-9]{1,30}$");
            Boolean errores = false;

            errorProviderUsername.Clear();
            errorProviderPassword.Clear();

            if (String.IsNullOrEmpty(username))
            {
                errorProviderUsername.SetError(tb_username, "Campo obligatorio");
                errores = true;
            }
            else if (!reg.IsMatch(username))
            {
                errorProviderUsername.SetError(tb_username, "No se permiten símbolos especiales, solo letras y números");
                errores = true;
            }

            if (String.IsNullOrEmpty(password))
            {
                errorProviderPassword.SetError(tb_password, "Campo obligatorio");
                errores = true;
            }
            else if (!reg.IsMatch(password))
            {
                errorProviderPassword.SetError(tb_password, "No se permiten símbolos especiales, solo letras y números");
                errores = true;
            }

            if (errores)
            {
                Aplicacion.aumentarIntentosFallidos();

                if (Aplicacion.getIntentosFallidos() < 3)
                {
                    throw new SystemException("Se ha producido un error con sus credenciales de acceso. Por favor, corrija los errores.");
                }
                else
                {
                    this.Close();
                    this.formPrincipal.inhabilitarLogin();
                    throw new SystemException("Ha superado los 3 intentos de Login. Ésta funcionalidad será deshabilitada por seguridad.");
                }
            }
        }
Пример #2
0
        private void botonLoguearse_Click(object sender, EventArgs e)
        {
            UsuarioDAO usuarioDAO = UsuarioDAO.getInstance();
            Mensaje    mensaje    = Mensaje.Instance;

            try
            {
                this.quitarAcceso();
                this.validarEntrada(tb_username.Text, tb_password.Text);
                Usuario usuario = usuarioDAO.login(tb_username.Text, tb_password.Text);

                if (usuario != null)
                {
                    this.darAcceso(usuario.rol.ID);
                    UsuarioLogueado.usuario = usuario;
                    Aplicacion.resetearIntentosFallidos();
                    mensaje.mostrarNormal("Acceso autorizado.\nBienvenido a FRBA Bus.");
                    this.Close();
                }
                else
                {
                    this.quitarAcceso();
                    UsuarioLogueado.usuario = null;
                    Aplicacion.aumentarIntentosFallidos();

                    if (Aplicacion.getIntentosFallidos() < 3)
                    {
                        mensaje.mostrarNormal("Usuario y password no válidos.");
                    }
                    else
                    {
                        this.Close();
                        this.formPrincipal.inhabilitarLogin();
                        throw new SystemException("Ha superado los 3 intentos de Login. Ésta funcionalidad será deshabilitada por seguridad.");
                    }
                }
            }
            catch (Exception ex)
            {
                mensaje.mostrarNormal(ex.Message);
            }
        }