From b0cc7a5be6a9e9b16a298227e0669cddf3c51924 Mon Sep 17 00:00:00 2001 From: Amar Mehmedovic Date: Mon, 13 Jan 2025 10:46:26 +0000 Subject: [PATCH] pflichtenheft.md aktualisiert --- pflichtenheft.md | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/pflichtenheft.md b/pflichtenheft.md index 98e31df..f8a4f1d 100644 --- a/pflichtenheft.md +++ b/pflichtenheft.md @@ -138,17 +138,23 @@ Redundanzeigenschaften Bespr. Mit Hr. Prof. Gürth ## Zugriffsverwaltung -
-

Benutzername und Passwort Authentifizierung

-Im Frontend:

+
+

Benutzername und Passwort Authentifizierung +

+Im Frontend: +

+Voraussetzungen für das Frontend => +

    +
  • Ein Backend zur Verarbeitung und Validierung der Anmeldedaten +
  • Ein sicherer Mechanismus zur Kommunikation zwischen Frontend und Backend +
  • Ein Token-basierter Authentifizierungsansatz zur Verwaltung von Sitzungen +
-Voraussetzungen für das Frontend =>
  • Ein Backend zur Verarbeitung und Validierung der Anmeldedaten
  • Ein sicherer Mechanismus zur Kommunikation zwischen Frontend und Backend
  • Ein Token-basierter Authentifizierungsansatz zur Verwaltung von Sitzungen
- -Komponenten Im Frontend =>
  • Das Frontend benötigt ein Formular über (HTML), in dem Benutzer ihre Anmeldeinformationen eingeben können
  • Das Frontend benötigt eine Funktion über Rest API (HTTP), in dem die eingegebenen Daten an das Backend gesendet werden können

+Komponenten fürs Frontend =>

  • Das Frontend benötigt ein Formular über HMTL, in dem Benutzer ihre Anmeldeinformationen eingeben können
  • Das Frontend benötigt eine Funktion über Rest API, in dem die eingegebenen Daten an das Backend gesendet werden können

Backend:

Überprüft die empfangenen Anmeldedaten, in dem er nach vorhandenen Benutzernamen sucht. Anschließend wird das eingegebene Passwort mit den Daten in der Datenbank überprüft.

ZUG-1

Passwort zurücksetzen

Frontend:

Das Zurücksetzen des Passworts im Frontend einer Anwendung ermöglicht es den Benutzern, ihr Passwort zu ändern, falls sie es vergessen haben oder aus anderen Gründen ein neues Passwort festlegen möchten.

Backend:

Das neu festgelegte Passwort überschreibt den dazugehörigen Datenbankeintrag. Der Link zum Passwortreset, sofern man sich ganz aus der Applikation ausgesperrt hat, wird per E-Mail zugestellt.

ZUG-2

Rollen

Frontend:

Verwaltung von Benutzerrechten und Zugriffssteuerung innerhalb einer Webanwendung. In einer typischen Anwendung können Benutzer unterschiedliche Rollen haben, die bestimmte Berechtigungen definieren. Diese Rollen beeinflussen, welche Teile der Anwendung für den Benutzer sichtbar sind oder welche Aktionen er ausführen darf.

Backend:

Die Rollen erlauben es Benutzern verschiedene Berechtigungen zu erlangen. Hierfür muss im Backend ein Konzept zur Verteilung und Überprüfung von Rollen implementiert werden.

ZUG-3

Benutzerverwaltung (für Admins)

Frontend:

Die Benutzerverwaltung für Administratoren in einer Webanwendung bezieht sich auf die Funktionen, die es Administratoren ermöglichen, Benutzerkonten zu erstellen, zu bearbeiten, zu löschen und deren Berechtigungen zu verwalten.

Backend:

Alle Einträge, die in der Weboberfläche (Admin-Bereich) geändert werden, werden übers Backend in der DB gespeichert, hier muss man ganz Besonders auf die Rechteverteilung aufpassen, dass keine ungewollten Änderungen von dritten eingetragen werden.

ZUG-4

Einladung an die EDU-Adresse (Phase 2)

Frontend:

Im Frontend können Benutzer Einladungen an E-Mail-Adressen versenden, indem sie eine Adresse in ein Eingabefeld eingeben und auf „Einladen“ klicken. Die Anwendung überprüft die E-Mail-Adresse und sendet sie dann an das Backend, das eine Einladung generiert und per E-Mail verschickt.

Backend:

Es werden alle nötigen Schritte für die Erstellung einer Einladung durchgeführt, damit diese dann per E-Mail versendet werden kann.

ZUG-5

Magic Link Authentifizierung

Frontend:

Die Magic Link Authentifizierung ist eine Methode der Benutzeranmeldung, bei der anstelle eines Passworts ein einmaliger Login-Link an die E-Mail-Adresse des Benutzers gesendet wird. Wenn der Benutzer auf diesen Link klickt, wird er automatisch und sicher in die Anwendung eingeloggt.

Backend:

Ein potenzieller Benutzer bekommt per E-Mail einen Link zugesendet, womit er sich authentifizieren kann.

ZUG-6

2FA Authentifizierung (Phase 2)

Frontend:

  • Erste Anmeldung: Der Benutzer gibt seinen Benutzernamen und sein Passwort im Frontend ein.
  • 2FA-Code-Anforderung: Nach erfolgreicher Passworteingabe fordert die Anwendung einen zweiten Faktor an, z. B. einen 6-stelligen Code, der per SMS, E-Mail oder einer Authenticator-App (z. B. Google Authenticator) generiert wird.
  • Code-Eingabe: Der Benutzer gibt den Code im Frontend ein.
  • Verifizierung: Das Frontend sendet den Code zur Verifizierung an das Backend.
  • Zugriff gewähren: Bei korrekter Codeeingabe erhält der Benutzer Zugriff auf die Anwendung.

Backend:

Nach erfolgreicher Eingabe der Anmeldedaten wird über eine andere Kommunikationsoberfläche ein Code übermittelt auf einem anderen Gerät generiert, der wiederum eingegeben werden muss, um seine Identität zu bestätigen.

ZUG-7

OAuth (Phase 2)

Frontend:

  • Anmeldelink: Der Benutzer klickt auf einen Login-Button, und das Frontend leitet ihn zur OAuth-Provider-Seite (z. B. Google) weiter.
  • Autorisierung: Der Benutzer meldet sich an und erlaubt der Anwendung Zugriff auf bestimmte Daten.
  • Token-Erhalt: Der OAuth-Provider leitet den Benutzer zurück zur Anwendung mit einem Access Token in der URL.
  • API-Zugriff: Das Frontend speichert das Token (meist im Speicher des Browsers) und verwendet es, um direkt auf API-Ressourcen zuzugreifen.

Backend:

Authentifizierung mittels LinkedIn Account. Hierfür muss im Backend ein Mapping geführt werden, welcher LinkedIn Account, zu welchem von unseren Accounts gehört. In einer weiteren Ausbaustufe kann man vielleicht gleich das ganze Profil von LinkedIn mit dem eigenen Abgleichen.

ZUG-8 -

+

## Hall of Fame (Phase 2)