SecureWebApp
Einführung
SecureWebApp – Sichere Webanwendungsvorlage für ASP.NET Core 5.0
Ein Programmierprojekt für den Kurs COMP.SEC.300 Secure Programming, Frühjahr 2021
Das Repository enthält den gesamten Quellcode, das Architekturdiagramm und die Dokumentation für das Projekt.
Dokumentation
Die Projektdokumentation ist in Documentation.pdf im Projektstammverzeichnis verfügbar.
Direkter Link zur Projektdokumentation HIER.
Architektur
Das grobe Architekturdiagramm der Anwendung unten:
Link zum vollständigen Bild hier.
Einrichtung einer lokalen Entwicklungsumgebung
- Klonen Sie das Repository
- Installieren Sie Visual Studio 2019 (Professional/Enterprise empfohlen)
- Installieren Sie die erforderlichen Tools (ASP.NET Core-Webentwicklungstools, MSSQL
- Optional können Sie Microsoft SQL Server 2019 separat installieren
- Öffnen Sie das Projekt (Lösungsdatei) SecureWebApp.sln in VS
- Erstellen Sie die Datenbank und führen Sie die Datenbankmigrationen aus, indem Sie das Dotnet-Tool install --global dotnet-ef dotnet add package Microsoft.EntityFrameworkCore.Design dotnet ef migrations add InitialCreate dotnet ef Database Update ausführen
- Erstellen/Debuggen/Starten Sie das Projekt lokal
- Im Browser öffnen: http://localhost:5000 (UNSICHER, NICHT EMPFOHLEN) oder https://localhost:5001
Empfohlene Tools und Bibliotheken für die Windows-Entwicklung
- Visual Studio 2019 Pro (alle .NET 5.0-Workloads)
- ASP.NET Core 5.0 (MVC)
- Microsoft SQL Server 2019 (LocalDB zum Testen verfügbar, integriert in Visual Studio)
- Nuget-Paketmanager
- Erforderliche Nuget-Pakete, die in den Projektkonfigurationen enthalten sind
- Git Bash für Windows
- Google Chrome / Mozilla Firefox
Kontinuierliche Integration und Bereitstellung
Bei Push- oder Pull-Anfragen an den Hauptzweig wird ein Build-Test-Job ausgelöst, um das Projekt in Cloud Runner zu erstellen, alle Komponententests auszuführen und sicherzustellen, dass sie erfolgreich sind. Nach einem erfolgreichen Testlauf wird der Bereitstellungsjob ausgeführt, um die Datei auf einem privaten Server zu veröffentlichen.
Die Anwendung steht zum Live-Testen unter https://securewebapp.peltonet.com/ zur Verfügung.
Statische Analyse
Der Quellcode des Projekts wird mit dem SonarQube Cloud (SonarCloud)-Dienst analysiert.
SonarCloud ist über GitHub Actions integriert.
Die URL für die Projektanalyse: https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp