SecureWebApp
การแนะนำ
SecureWebApp - เทมเพลตแอปพลิเคชันเว็บที่ปลอดภัยสำหรับ ASP.NET Core 5.0
โครงการการเขียนโปรแกรมสำหรับหลักสูตร COMP.SEC.300 Secure Programming ฤดูใบไม้ผลิ 2021
พื้นที่เก็บข้อมูลประกอบด้วยซอร์สโค้ด แผนภาพสถาปัตยกรรม และเอกสารประกอบสำหรับโครงการทั้งหมด
เอกสารประกอบ
เอกสารโครงการมีอยู่ใน Documentation.pdf ในรูทโครงการ
ลิงก์โดยตรงไปยังเอกสารประกอบโครงการ ที่นี่
สถาปัตยกรรม
แผนภาพสถาปัตยกรรมคร่าวๆ ของแอปพลิเคชันด้านล่าง:
ลิงค์ไปยังภาพเต็มที่นี่
การตั้งค่าสภาพแวดล้อมการพัฒนาท้องถิ่น
- โคลนพื้นที่เก็บข้อมูล
- ติดตั้ง Visual Studio 2019 (แนะนำสำหรับมืออาชีพ/องค์กร)
- ติดตั้งเครื่องมือที่จำเป็น (เครื่องมือพัฒนาเว็บ ASP.NET Core, MSSQL
- หรือติดตั้ง Microsoft SQL Server 2019 แยกต่างหาก
- เปิดโครงการ (ไฟล์โซลูชัน) SecureWebApp.sln ใน VS
- สร้างฐานข้อมูลและเรียกใช้การย้ายฐานข้อมูลโดยการรันการติดตั้งเครื่องมือ dotnet --global dotnet-ef dotnet เพิ่มแพ็คเกจ Microsoft.EntityFrameworkCore.Design dotnet ef การย้ายข้อมูลเพิ่ม InitialCreate dotnet ef การอัพเดตฐานข้อมูล
- สร้าง/ดีบัก/เปิดตัวโปรเจ็กต์ในเครื่อง
- เปิดในเบราว์เซอร์: http://localhost:5000 (ไม่ปลอดภัย ไม่แนะนำ) หรือ https://localhost:5001
เครื่องมือและไลบรารีที่แนะนำสำหรับการพัฒนา Windows
- Visual Studio 2019 Pro (ปริมาณงาน .NET 5.0 ทั้งหมด)
- ASP.NET Core 5.0 (MVC)
- Microsoft SQL Server 2019 (LocalDB สำหรับการทดสอบพร้อมใช้งาน รวมอยู่ใน Visual Studio)
- ผู้จัดการแพ็คเกจ Nuget
- แพ็คเกจ nuget ที่จำเป็นรวมอยู่ในการกำหนดค่าโปรเจ็กต์
- Git Bash สำหรับ Windows
- กูเกิลโครม/มอซซิลาไฟร์ฟอกซ์
การบูรณาการและการปรับใช้อย่างต่อเนื่อง
เมื่อมีการพุชหรือดึงคำขอไปยังสาขาหลัก งานทดสอบบิลด์จะถูกทริกเกอร์เพื่อสร้างโปรเจ็กต์ใน Cloud Runner และรันการทดสอบหน่วยทั้งหมดและตรวจสอบให้แน่ใจว่าผ่านการทดสอบ หลังจากดำเนินการทดสอบสำเร็จ งานการปรับใช้จะถูกรันเพื่อเผยแพร่ในเซิร์ฟเวอร์ส่วนตัว
แอปพลิเคชันนี้มีให้สำหรับการทดสอบสดใน https://securewebapp.peltonet.com/
การวิเคราะห์แบบคงที่
ซอร์สโค้ดของโปรเจ็กต์ได้รับการวิเคราะห์โดยใช้บริการ SonarQube Cloud (SonarCloud)
SonarCloud ได้รับการบูรณาการผ่าน GitHub Actions
URL สำหรับการวิเคราะห์โครงการ: https://sonarcloud.io/dashboard?id=Sinipelto_securewebapp