pflichtenheft.md aktualisiert

This commit is contained in:
Florian Edlmayer 2025-01-27 08:42:32 +00:00
parent 0152d9c594
commit 979514bd3b

View File

@ -118,7 +118,8 @@ Redundanzeigenschaften Bespr. Mit Hr. Prof. Gürth
### Schnittstellen zu eigenen Systemen
| RestAPI (Frontend / Backend)<br><br>Zwischen Datenbank und C#<br><br>Die Umsetzung einer RESTAPI umfasst die Planung von Endpunkten, Backend-Entwicklung, Datenbankanbindung | SnT-1 |
| RestAPI (Frontend / Backend)<br><br>
|1. Zielsetzung <br>Die geplante REST API soll in die Oqtane-CMS-Umgebung integriert werden, um eine dynamische Kommunikation zwischen dem CMS und einer Website zu ermöglichen. Sie dient dazu, Inhalte und Funktionen des CMS über die API für die Website verfügbar zu machen und ermöglicht dynamische CRUD-Operationen (Create, Read, Update, Delete) direkt aus dem CMS heraus.<br><br>2. Aufgabenbeschreibung<br>Die Aufgabe umfasst:<br>Integration in Oqtane: Erweiterung des Oqtane-CMS mit zusätzlichen Modulen und APIs.<br>Entwicklung der REST API: Bereitstellung von Endpunkten zur Interaktion zwischen CMS-Daten und Website.<br>Frontend-Integration: Anbindung der Website an die API, um CMS-Inhalte dynamisch darzustellen.<br>Sicherheitsimplementierung: Absicherung der API und des Datenflusses zwischen CMS und Website.<br><br>3. Sicherheitsanforderungen<br>Authentifizierung:<br>Verwendung von Oqtane's integriertem Benutzermanagement und JWT für Authentifizierung.<br>Sicherstellung, dass Benutzerrollen (z. B. Admin, Editor, User) berücksichtigt werden.<br>Autorisierung:<br>Zugriff auf Endpunkte wird basierend auf Benutzerrollen gesteuert.<br>Sensible Aktionen (z. B. Inhalte löschen) nur für berechtigte Benutzer möglich.<br>Eingabedatenvalidierung:<br>Eingaben im Frontend und Backend validieren.<br>API-Schutz:<br>Schutz gegen CSRF, XSS, und andere Angriffe.<br>Nutzung von HTTPS.<br><br>4. Nicht-funktionale Anforderungen<br>Performance: Antwortzeiten der API < 300ms für häufige Anfragen.<br>Kompatibilität: Vollständig kompatibel mit Oqtane-Modulen und Standard-Datenstrukturen.<br>Skalierbarkeit: Möglichkeit, neue Module und API-Endpunkte ohne größere Umbauten zu integrieren.<br>Internationalisierung: Unterstützung mehrsprachiger Inhalte.<br><br>5. Technische Umsetzung<br>5.1. Backend (Oqtane CMS)<br>Framework: ASP.NET Core, integriert in Oqtane.<br>Architektur:<br>Erweiterung des Oqtane-CMS durch Module.<br>Nutzung der Oqtane-Service-API und Datenzugriff über die vorhandene Architektur.<br>Erstellung benutzerdefinierter APIs mit .Controllers und Abbildung auf Oqtane-Tabellen.<br>5.2. Frontend<br>Technologien:<br>JavaScript-Frameworks wie React, Angular oder Vue.js.<br>Integration der REST API über Bibliotheken wie Axios oder die Fetch API.<br>Darstellung der Inhalte aus Oqtane in dynamischen Komponenten (z. B. Listen, Detailansichten).<br>API-Integration:<br>Frontend ruft Inhalte direkt von der REST API ab.<br>Dynamische Aktualisierung der Inhalte durch Benutzeraktionen (z. B. Formularübermittlung).<br>5.3. Sicherheit<br>Authentifizierung:<br>Authentifizierung über JWT-Token (Login-Endpunkte in Oqtane).<br>Speicherung von Token im sicheren Speicher (z. B. HttpOnly Cookies).<br>Eingabeverarbeitung:<br>Validierung von Daten im Frontend und Backend.<br>Schutz vor schädlichen Nutzereingaben (z. B. SQL-Injection).<br><br>6. Erfolgskriterien<br>Die Website kann nahtlos mit der Oqtane-REST API interagieren.<br>Die API erfüllt alle funktionalen Anforderungen und ist in die Oqtane-Datenstruktur integriert.<br>Sichere und performante Bereitstellung der API.<br>Modularer Aufbau, der zukünftige Erweiterungen unterstützt.<br><br> | SnT-1 |
| --- | --- |
### Schnittstellen zu anderen Systemen