Esempio n. 1
0
        public static int corroborarDatos(String user, String contra)
        {
            String  query            = String.Format("SELECT usuario_nombre, usuario_password, usuario_logins_fallidos, usuario_estado FROM GD2C2018.SQLEADOS.Usuario where usuario_nombre like '" + user + "'");
            DataSet usersEncontrados = DBConsulta.ConectarConsulta(query);

            if (DBConsulta.dataSetVacio(usersEncontrados))
            {
                MessageBox.Show("No existe el usuario");
                return(-1); // NO ENCONTRO NADA, NO HACE NADA
            }
            String nombreUser = usersEncontrados.Tables[0].Rows[0][0].ToString();

            byte[] pass = (byte[])usersEncontrados.Tables[0].Rows[0][1];
            String intentos_fallidos = usersEncontrados.Tables[0].Rows[0][2].ToString();
            String estadoUser        = usersEncontrados.Tables[0].Rows[0][3].ToString();

            int nrointentos = Convert.ToInt32(intentos_fallidos);

            if (estadoUser == "0")
            {
                MessageBox.Show("Su usuario está bloqueado \nComuniquese con un administrador");
                //USER BLOQUEADO, NO SE HACE NADA PERO SE IMPOSIBILITA SU ENTRADA
                return(-2);
            }
            else
            {
                if (!coincidenContrasenias(pass, contra))
                {
                    MessageBox.Show("Usuario o contraseña incorrecto\n\nLimite de tolerancia de intentos fallidos hasta ser bloqueado: 3 \nLogins fallidos cometidos por usted: " + (nrointentos++).ToString());
                    if (nrointentos < 3)
                    {
                        String subirIntentosFallidos = String.Format("UPDATE GD2C2018.SQLEADOS.Usuario SET usuario_logins_fallidos = usuario_logins_fallidos + 1 where usuario_nombre like  '" + user + "'");
                        DBConsulta.ModificarDB(subirIntentosFallidos);
                    }
                    else
                    {
                        String subirIntentosFallidos = String.Format("UPDATE GD2C2018.SQLEADOS.Usuario SET usuario_estado = 0 where usuario_nombre like  '" + user + "'");
                        DBConsulta.ModificarDB(subirIntentosFallidos);
                    }
                    return(0); // DEBE SALTAR UNA VENTANA QUE MLA LA CONTRA Y EN CORRESPONDENCIA SUBE EL CONTADOR
                    // DE LOGIN
                }
                MessageBox.Show("Bienvenido: " + nombreUser);
                //Borrar todos los contadores de Logins fallidos para el usuario que ingresó
                String resetearCampoLoginsFallidos = String.Format("UPDATE GD2C2018.SQLEADOS.Usuario SET usuario_logins_fallidos = 0 where usuario_nombre like  '" + user + "'");
                DBConsulta.ModificarDB(resetearCampoLoginsFallidos);
                if (userTieneMasDe1Rol(ObtenerRoles(user)))
                {
                    // SIGNIFICA QUE EL USUARIO TIENE MAS DE 1 ROL, ABRE VENTANA DE SELECCION DE USER
                    return(2);
                }
                return(1);
            }
        }
Esempio n. 2
0
        internal static void darDeBaja(DataGridView dgv, string usuario)
        {
            SqlConnection connection = PalcoNet.Support.Conexion.conexionObtener();

            connection.Open();
            try
            {
                String query = "UPDATE [GD2C2018].[SQLEADOS].[Usuario] SET usuario_estado = 0 WHERE usuario_nombre LIKE " + usuario;
                DBConsulta.ModificarDB(query);
            }
            catch (Exception ex)
            {
                MessageBox.Show("No se pudo dar de baja al usuario: " + usuario + "\n\nMOTIVO: " + ex.ToString());
            }
            connection.Close();
            return;
        }