Aplicación web segura
Introducción
SecureWebApp: plantilla de aplicación web segura para ASP.NET Core 5.0
Un proyecto de programación para el curso COMP.SEC.300 Programación segura, primavera de 2021
El repositorio contiene todo el código fuente, diagrama de arquitectura y documentación del proyecto.
Documentación
Documentación del proyecto disponible en Documentation.pdf en la raíz del proyecto.
Enlace directo a la documentación del proyecto AQUÍ.
Arquitectura
El diagrama de arquitectura aproximado de la aplicación a continuación:
Enlace a la imagen completa aquí.
Configuración del entorno de desarrollo local
- Clonar el repositorio
- Instale Visual Studio 2019 (se recomienda Professional/Enterprise)
- Instale las herramientas necesarias (herramientas de desarrollo web ASP.NET Core, MSSQL
- Opcionalmente, instale Microsoft SQL Server 2019 por separado
- Abra el proyecto (archivo de solución) SecureWebApp.sln en VS
- Cree la base de datos y ejecute las migraciones de la base de datos ejecutando la instalación de la herramienta dotnet --global dotnet-ef dotnet add paquete Microsoft.EntityFrameworkCore.Design dotnet ef migraciones agregan InitialCreate dotnet ef actualización de la base de datos
- Construir/Depurar/Iniciar el proyecto localmente
- Abrir en el navegador: http://localhost:5000 (INSEGURO, NO RECOMENDADO) o https://localhost:5001
Herramientas y bibliotecas recomendadas para el desarrollo de Windows.
- Visual Studio 2019 Pro (todas las cargas de trabajo .NET 5.0)
- ASP.NET Core 5.0 (MVC)
- Microsoft SQL Server 2019 (LocalDB para pruebas disponible, integrado en Visual Studio)
- Administrador de paquetes Nuget
- Paquetes nuget necesarios incluidos en las configuraciones del proyecto
- Git Bash para Windows
- Google Chrome/Mozilla Firefox
Integración e implementación continuas
En los envíos o solicitudes de extracción a la rama principal, se activa un trabajo de prueba de compilación para compilar el proyecto en Cloud Runner y ejecutar todas las pruebas unitarias y garantizar que se aprueben. Después de una ejecución de prueba exitosa, el trabajo de implementación se ejecuta para publicarlo en un servidor privado.
La aplicación está disponible para pruebas en vivo en https://securewebapp.peltonet.com/
Análisis estático
El código fuente del proyecto se analiza utilizando el servicio SonarQube Cloud (SonarCloud).
SonarCloud se integra a través de GitHub Actions.
La URL para el análisis del proyecto: https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp