Praesentation von adam und florian
This commit is contained in:
100
Praesentation_Florian_Edlmayer.md
Normal file
100
Praesentation_Florian_Edlmayer.md
Normal file
@@ -0,0 +1,100 @@
|
||||
---
|
||||
marp: true
|
||||
theme: default
|
||||
paginate: true
|
||||
---
|
||||
|
||||
# Defensio Diplomarbeit: AlumniHub
|
||||
## Individueller Teil: Florian Edlmayer
|
||||
**Datensicherheit, Backup-Systeme & Premium-Bereich**
|
||||
|
||||
---
|
||||
|
||||
# Ausgangslage & Zielsetzung
|
||||
- **Ausgangssituation**: Fehlen einer sicheren, datenschutzkonformen digitalen Vernetzung der Absolventen der HTL Ungargasse.
|
||||
- **Mein Beitrag**:
|
||||
- DSGVO-konforme Datenschutzimplementierung.
|
||||
- Robuste, automatisierte Backups & Restore-Systeme.
|
||||
- Externes Login mittels LinkedIn (OAuth 2.0).
|
||||
- Konzeption und Entwicklung des Premium-Bereichs.
|
||||
- **Nutzen**: Rechtskonformer Betrieb, hohe Ausfallsicherheit, einfache Nutzung, Förderung des Engagements.
|
||||
|
||||
---
|
||||
|
||||
# Eingesetzte Technologien
|
||||
- **Framework**: ASP.NET Core & .NET 8
|
||||
- **Datenbanksystem**: PostgreSQL
|
||||
- **Authentifizierung**: OAuth 2.0 (LinkedIn)
|
||||
- **Scripting & Automation**: Bash-Skripte für Linux Cronjobs
|
||||
|
||||
---
|
||||
|
||||
# DSGVO & Datenschutz
|
||||
- **Notwendigkeit**: Einhaltung gesetzlicher Rahmenbedingungen (DSGVO, DSG).
|
||||
- **Umsetzung**:
|
||||
- Erstellung und Einbindung einer rechtskonformen Datenschutzerklärung.
|
||||
- **Datenminimierung**: Es werden nur absolut notwendige Daten für den Vereinszweck erhoben.
|
||||
- **Vertraulichkeit**: TLS/HTTPS-Verschlüsselung, lokales Hosting der Daten in Österreich (LiveDesign).
|
||||
- Sicherstellung aller Betroffenenrechte (Auskunft, Löschung).
|
||||
|
||||
---
|
||||
|
||||
# Backup- & Restore-Systeme (1)
|
||||
- **Problem**: Schutz der Daten vor Hardwareausfällen, Softwarefehlern oder Cyberangriffen.
|
||||
- **Lösung: Vollautomatisiertes Backup-Skript**
|
||||
- **Cronjob** führt Skript nachtschlafend (`02:30 Uhr`) aus.
|
||||
- Sichert die `PostgreSQL`-Datenbank im Custom-Format (`pg_dump -Fc`).
|
||||
- Komprimiert den gesamten App-Dateibaum mittels `tar -cvpzf`.
|
||||
- Alle Backups erhalten UTC-Zeitstempel für ordentliche Strukturierung.
|
||||
|
||||
---
|
||||
|
||||
# Backup- & Restore-Systeme (2)
|
||||
- **Retention Management**:
|
||||
- Automatische Bereinigung alter Backups (Rotation). Nur die neuesten 30 Backups (`RETAIN=30`) bleiben vorhanden, um Speicherplatz zu sparen.
|
||||
- **Restore-Skript**:
|
||||
- Kontrollierter Wiederherstellungsprozess.
|
||||
- Integrierte Sicherheitsabfrage (`ja/nein`) vor dem Überschreiben.
|
||||
- Umbenennen bestehender Ordner als "Rückversicherung".
|
||||
- Neuanlage der Datenbank (`dropdb` / `createdb`) & Einspielen via `pg_restore`.
|
||||
|
||||
---
|
||||
|
||||
# Authentifizierung mit LinkedIn (OAuth 2.0)
|
||||
- **Ziel**: Reduzierung von Registrierungshürden und Steigerung der Plattformsicherheit (keine Passwörter im eigenen System speichern).
|
||||
- **Ablauf**:
|
||||
- Nutzer klickt auf "Via LinkedIn Anmelden".
|
||||
- Weiterleitung an LinkedIn -> Freigabe durch den Nutzer.
|
||||
- Oqtane External Login fängt Authorization Code ab, tauscht diesen gegen ein Access Token.
|
||||
- Automatisches Mapping auf lokales Benutzerkonto mithilfe der definierten *Claims* (Name, System-ID).
|
||||
|
||||
---
|
||||
|
||||
# Der Premium-Bereich (1)
|
||||
- **Zweck**: Anreiz für aktives Engagement im Absolventenverein.
|
||||
- **Ingenieur-Antrags-Workflow**:
|
||||
- Nutzer können *Ingenieur-Anträge* (PDF) via Oqtane FileManager hochladen (`Entity: EngineerApplication`).
|
||||
- Nach Prüfung und Freigabe durch Admins (`Approved`) wird automatisch für 12 Monate der Premium-Status vergeben (`UserPremium`).
|
||||
- **Bibliothek**:
|
||||
- Premium-Mitglieder können eine Übersicht aller genehmigten Vorzeige-Anträge einsehen.
|
||||
|
||||
---
|
||||
|
||||
# Der Premium-Bereich (2)
|
||||
- **Mitgliedersuche & Kontakt**:
|
||||
- Gezielte, datensparsame Suchfunktion nach anderen Absolventen.
|
||||
- Die Suche filtert sensible Daten serverseitig heraus, bevor es zum Client geschickt wird.
|
||||
- **Kontakt-Mechanismus**: In-App Nachrichtensystem *ohne* Preisgabe der persönlichen E-Mail-Adresse. Oqtane übernimmt als Broker die Zustellung.
|
||||
- **Architektur**:
|
||||
- Umsetzung über EF Core (Tabellen: `UserPremium`, `EngineerApplication`, `PremiumEvent` wg. Audit-Trails).
|
||||
- Rollenbasierte Zugriffskontrollen tief in der Service-Schicht (`IsAuthorized`).
|
||||
|
||||
---
|
||||
|
||||
# Fazit & Ausblick
|
||||
- **Erreichtes**:
|
||||
- Sensible Mitglieder-Daten sind DSGVO-konform geschützt.
|
||||
- Die Betriebssicherheit wird durch fehlerresistente Bash-Backups bewahrt.
|
||||
- Der nahtlose Login mit LinkedIn reduziert Barrieren stark.
|
||||
- Der Premium-Bereich samt Ingenieur-Anträgen stiftet echten Mehrwert für die Alumni-Community.
|
||||
- **Ausblick**: Evaluierung weiterführender OAuth-Anbieter sowie Ausbau der Premium-Pfeiler zur Steigerung der Mitglieds-Dauerhaftigkeit.
|
||||
Reference in New Issue
Block a user