コード例 #1
0
        /// <summary>
        /// Implementación de la lógina de Login.
        /// </summary>
        public ResultadoLogin LoginUsuario(string usuario, string contrasenia)
        {
            string contraseniaSalt   = ObtenerSal(usuario);
            string contraseniaBcrypt = "";

            if (!String.IsNullOrWhiteSpace(contraseniaSalt))
            {
                contraseniaBcrypt = BCrypt.HashPassword(contrasenia, contraseniaSalt);
            }
            SqlCommand loginCmd = new SqlCommand(loginQuery);

            loginCmd.Parameters.AddWithValue("@usuario", usuario);
            loginCmd.Parameters.AddWithValue("@contrasenia", contraseniaBcrypt);

            // Obtiene el resultado
            object resultado = OperacionSQL.ExecuteScalar(cadenaConexion, loginCmd);

            // Si el resultado es nulo, no existe el usuario.
            if (resultado == null)
            {
                return(new ResultadoLogin(ResultadoLogin.TipoResultado.DENEGADO, null));
            }
            else if (resultado.Equals(Operacion.ERROR))
            {
                return(new ResultadoLogin(ResultadoLogin.TipoResultado.ERROR, null));
            }
            {
                // Se le asigna la ID de la base de datos al usuario creado.
                Usuario creado = new Usuario(usuario, contrasenia, contraseniaBcrypt);
                creado.ID = BBDDPrograma.ObtenerIDUsuario(creado);
                return(new ResultadoLogin(ResultadoLogin.TipoResultado.ACEPTADO, creado));
            }
        }
コード例 #2
0
        /// <summary>
        /// Implementación de ObtenerPuertoDefecto.
        /// </summary>
        public int ObtenerPuertoDefecto(Conexion.TipoConexion tipo)
        {
            // Crea el comando
            SqlCommand obtenerPuerto = new SqlCommand(obtenerPuertoQuery);

            obtenerPuerto.Parameters.AddWithValue("@id_tipo", (int)tipo);
            // Obtiene y devuelve el resultado
            return((int)OperacionSQL.ExecuteScalar(cadenaConexion, obtenerPuerto));
        }
コード例 #3
0
        //// Métodos privados ////

        /// <summary>
        /// Comprueba si existe el nombre de un usuario en BBDD
        /// </summary>
        /// <param name="usuario">El nombre del usuario a buscar</param>
        /// <returns>True si existe el usuario.</returns>
        private bool ExisteUsuario(string usuario)
        {
            // Crea el comando
            SqlCommand existirCmd = new SqlCommand(existirQuery);

            existirCmd.Parameters.AddWithValue("@usuario", usuario);
            // Obtiene resultado
            object resultado = OperacionSQL.ExecuteScalar(cadenaConexion, existirCmd);

            // Si el resultado es nulo, no existe el usuario.
            return(resultado != null);
        }
コード例 #4
0
        /// <summary>
        /// Obtiene la Sal almacenada en BBDD de un usuario dado.
        /// </summary>
        /// <param name="usuario">El usuario del que obtener la sal.</param>
        /// <returns>String con la sal de la contraseña del usuario.</returns>
        public string ObtenerSal(string usuario)
        {
            SqlCommand saltCmd = new SqlCommand(saltQuery);

            saltCmd.Parameters.AddWithValue("@usuario", usuario);
            // Obtiene el resultado
            object resultado = OperacionSQL.ExecuteScalar(cadenaConexion, saltCmd);

            if (resultado != null)
            {
                return(resultado.ToString());
            }
            else
            {
                return("");
            }
        }
コード例 #5
0
        /// <summary>
        /// Implementación de la lógina de ObtenerIDUsuario.
        /// </summary>
        public int ObtenerIDUsuario(Usuario usuario)
        {
            // Crea el comando
            SqlCommand obtenerCmd = new SqlCommand(obtenerIDUsuarioQuery);

            obtenerCmd.Parameters.AddWithValue("@usuario", usuario.Nombre);
            obtenerCmd.Parameters.AddWithValue("@contrasenia", usuario.ContraseniaBBDD);
            // Obtiene el resultado
            object resultado = OperacionSQL.ExecuteScalar(cadenaConexion, obtenerCmd);

            // Si el resultado es nulo, no existe el usuario.
            if (resultado == null)
            {
                return(-1);
            }
            else
            {
                return((int)resultado);
            }
        }
コード例 #6
0
        /// <summary>
        /// Implementación de la lógina de ObtenerIDConexion.
        /// </summary>
        public int ObtenerIDConexion(Conexion conexion)
        {
            // Crea el comando
            SqlCommand obtenerIDCmd = new SqlCommand(obtenerIDConexionQuery);

            obtenerIDCmd.Parameters.AddWithValue("@nombredir", conexion.Nombre);
            obtenerIDCmd.Parameters.AddWithValue("@direccion", conexion.Direccion);
            obtenerIDCmd.Parameters.AddWithValue("@usuario", conexion.UsuarioConexion);
            // Obtiene el resultado
            object resultado = OperacionSQL.ExecuteScalar(cadenaConexion, obtenerIDCmd);

            // Si el resultado es nulo, no existe la conexion.
            if (resultado == null)
            {
                return(-1);
            }
            else
            {
                return((int)resultado);
            }
        }