SE-TINF22B2 / G2-Schoolify

A tool to support the school systems
2 stars 1 forks source link

[Kontoverwaltung] Authentication Login Backend #287

Closed Kronprinz03 closed 4 months ago

Kronprinz03 commented 4 months ago

Feature-Anfrage

Das Backend bekommt ein packed mit dem Usernamen und dem gehashten Passwort. Es der User soll aufgrunddessen eingeloggt werden mit

Eigenschaften

Anwendungsszenarien

  1. Ein Schüler gibt seinen Benutzernamen und sein Passwort ein und wird erfolgreich eingeloggt.
  2. Ein Lehrer meldet sich mit seinen Anmeldeinformationen an und hat Zugriff und bekommt in der Response die Role Lehrer etc.

Beispiele

Mögliche Implementation

  1. Authentifizierungsmiddleware: Erstellen Sie eine benutzerdefinierte Middleware in Nest.js, die die Anmeldeinformationen des Benutzers überprüft und bei erfolgreicher Authentifizierung eine Sitzung startet.

  2. Session-Management: Verwenden Sie die express-session-Bibliothek in Node.js, um Sitzungen zu verwalten.

  3. Rollenbasierte Zugriffskontrolle: Implementieren Sie eine Logik, die die Rolle des Benutzers nach dem Einloggen erkennt und entsprechende Berechtigungen zuweist.

  4. Edgecases behandeln: Identifizieren Sie und behandeln Sie alle möglichen Edge-Cases, z. B. leere Anmeldeinformationen, ungültige Benutzernamen oder Passwörter, um sicherzustellen, dass Ihre Anwendung robust und sicher ist.

Zusätzliche Informationen

Passwörter werden gehashed auf der Datenbank Gespeichert und kommen im Backend gehashed an.