SecureWebApp
Introduction
SecureWebApp - Modèle d'application Web sécurisée pour ASP.NET Core 5.0
Un projet de programmation pour le cours COMP.SEC.300 Secure Programming, printemps 2021
Le référentiel contient tout le code source, le schéma d'architecture et la documentation du projet.
Documentation
Documentation du projet disponible dans Documentation.pdf à la racine du projet.
Lien direct vers la documentation du projet ICI.
Architecture
Le schéma d'architecture approximatif de l'application ci-dessous :
Lien vers l’image complète ici.
Configuration de l'environnement de développement local
- Cloner le référentiel
- Installez Visual Studio 2019 (Professionnel/Entreprise recommandé)
- Installer les outils requis (outils de développement Web ASP.NET Core, MSSQL
- Vous pouvez éventuellement installer Microsoft SQL Server 2019 séparément
- Ouvrez le projet (fichier de solution) SecureWebApp.sln dans VS
- Créez la base de données et exécutez les migrations de base de données en exécutant dotnet tool install --global dotnet-ef dotnet add package Microsoft.EntityFrameworkCore.Design dotnet ef migrations add InitialCreate dotnet ef database update
- Construire/Déboguer/Lancer le projet localement
- Ouvrir dans le navigateur : http://localhost:5000 (INSÉCURISÉ, NON RECOMMANDÉ) ou https://localhost:5001
Outils et bibliothèques recommandés pour le développement Windows
- Visual Studio 2019 Pro (toutes les charges de travail .NET 5.0)
- ASP.NET Core 5.0 (MVC)
- Microsoft SQL Server 2019 (LocalDB pour les tests disponible, intégré à Visual Studio)
- Gestionnaire de packages Nuget
- Packages nuget requis inclus dans les configurations du projet
- Git Bash pour Windows
- Google Chrome/Mozilla Firefox
Intégration et déploiement continus
Lors des poussées ou des requêtes Pull vers la branche principale, une tâche de test de construction est déclenchée pour créer le projet dans Cloud Runner, exécuter tous les tests unitaires et garantir leur réussite. Après un test réussi, la tâche de déploiement est exécutée pour publier le sur un serveur privé.
L'application est disponible pour des tests en direct sur https://securewebapp.peltonet.com/
Analyse statique
Le code source du projet est analysé à l'aide du service SonarQube Cloud (SonarCloud).
SonarCloud est intégré via GitHub Actions.
L'URL de l'analyse du projet : https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp