37 lines
1.1 KiB
Plaintext
37 lines
1.1 KiB
Plaintext
---
|
|
description:
|
|
globs:
|
|
alwaysApply: false
|
|
---
|
|
# Authentifizierung und Benutzerrollen
|
|
|
|
Die Anwendung nutzt Flask-Login für das Authentifizierungssystem:
|
|
|
|
## Hauptkomponenten
|
|
- [LoginManager](mdc:app.py): Konfiguration im app.py
|
|
- [User Model](mdc:models.py): Die User-Klasse implementiert UserMixin für Flask-Login
|
|
- Passwort-Hashing: Verwendet Werkzeug Security für sichere Passwort-Speicherung
|
|
|
|
## Authentifizierungsrouten
|
|
- `/login`: Benutzeranmeldung (GET/POST)
|
|
- `/register`: Benutzerregistrierung (GET/POST)
|
|
- `/logout`: Benutzerabmeldung
|
|
|
|
## Benutzerrollen
|
|
- Reguläre Benutzer: Grundlegende Funktionen
|
|
- Administratoren (`is_admin=True`): Erweiterte Privilegien
|
|
|
|
## Zugriffskontrollen
|
|
- `@login_required`: Decorator für routenspezifischen Authentifizierungsschutz
|
|
- `@admin_required`: Benutzerdefinierter Decorator für Admin-Zugriffskontrolle
|
|
|
|
## Sitzungsverwaltung
|
|
- Tracking von Anmeldezeit (`last_login`)
|
|
- Langlebige Sitzungen für Präferenzen (z.B. Dark Mode)
|
|
- Angepasste Flash-Nachrichten
|
|
|
|
## Profilmanagement
|
|
- `/settings`: Benutzereinstellungen aktualisieren
|
|
- Passwortänderung
|
|
- Profildetails (Biografie, Avatar, etc.)
|