Añadir seguridad a una API .NET Core existente

Quizá nuestra API no debería de ser completamente abierta, necesitamos securizar algunas operaciones de las que nos permite hacer a los que son miembros o no o a algunos 'roles' y otros no. Primero debemos añadir a nuestro appsetings.config lo siguiente: Donde nuestro Issuer es la URL del servidor, Audience el nombre de nuestra aplicación y SecretKey la clave que usaremos para generar dinámicamente nuestros tokens, esta ultima debe ser mayor a 8 caracteres, si no obtendremos un error al ejecutar nuestra solution. He añadido los siguientes NuGet al proyecto, el último de…continue reading →

Creación de CRUD. Explicación Modelo, Controlador y Repositorio

En la siguiente entrada veremos como crear una plantilla CRUD (Create, Replace, Update & Delete), así como la creación y ejemplo de una base de datos sobre la que haremos pruebas, los modales, repositorios y controladores necesarios para la correcta implementación. https://flic.kr/p/2kExAQX Para empezar, crearemos una tabla en la base de datos a la que llamaremos Vuelos. Utilizaremos esta tabla, la cual cuenta con Id, Flynumber, Airlane, Cityfrom, Cityto, Gate y Hour. Nos servirá como entorno de pruebas para las funciones que crearemos más adelante. https://flic.kr/p/2kEu5mP A continuación, en el entorno "Visual Studio…continue reading →

Inyección de Dependencias en Asp.Net Core (Sql, MySql, XML)

En este post vamos a aprender a realizar la Inyección de Dependencias (DI) y la Inversión de Control (IoC) en Asp.Net Core con Entity Framework. Usaremos un ejemplo práctico con acceso a datos para realizar la inyección de dependencias de Sql, MySql y Xml. Inyección de Dependencias La inyección de dependencias es uno de los principios SOLID, que consiste en usar interfaces en lugar de clases directamente para poder reemplazar componentes con más facilidad y hacer que una clase reciba referencias a los componentes que necesite para funcionar, en lugar de instanciarlos de…continue reading →

Realizar peticiones con método POST (formularios) .NET

Estas peticiones se realizan a través de formularios. Los métodos que reciben los datos enviados a través de formularios deben estar decorados con la etiqueta [HttpPost] y el name de los controles HTML debe llamarse igual que el nombre con el que recibe el método post los parámetros. Es importante recordar que si un método tiene POST, debe existir previamente el método GET. MODEL BINDING: Cuando hacemos uso de formularios, además del envío de múltiples de datos, también tenemos la posibilidad de poder enviar información relevante para la construcción de un objeto. La…continue reading →

Paginación con Nuget XPagedList

¿Qué es XPagedList? XPagedList es un Nuget de NET Core que se utiliza para manipular un conjunto de objetos de una List y mostrarlos de forma paginada en una vista HTML. Su principal ventaja es que, si los datos a tratar provienen de una base de datos, no requiere el uso de procedimientos almacenados ni vistas en nuestro proveedor de datos. De hecho, la paginación se aplica directamente al objeto List de cualquier clase (strings, ints, objetos...) independientemente de su procedencia (una base de datos o creado manualmente). Ejemplo práctico Con esto, consideremos…continue reading →

Envío de emails en Net Core

El uso de los emails esta muy extendido y cualquier aplicación web que permita a registrarse debe tener un servidor de correo. Para poder enviar emails desde aplicaciones Net Core es necesario disponer de una clase destinada únicamente al envío de emails y que tenga una inyección de dependencias desde Startup.cs. https://flic.kr/p/2kDTL3x Clase startup.cs con inyección de dependencias Es recomendable que la clase encargada del envío de mails se encuentre en una carpeta llamada Helpers. https://flic.kr/p/2kDXndp Árbol de directorio del proyecto con MailService.cs Es necesario que se recoja en el constructor el IConfiguration…continue reading →