Datenraum: Architektur, Anmeldung und Zustimmung zu Bedingungen
Aufbau des Datenraum-Shops, Anmeldung, dauerhaftes Token, Einladungs- und Passwortlinks sowie Erfassung und Widerruf der Zustimmung zu den Nutzungsbedingungen.
Der Datenraum läuft auf einem eigenen Shop (Subdomain) mit eigenem Theme; der Portal-Controller ist document/document, die Rechteschlüssel liegen auf der Route document/dataroom. Ordner und Dokumente lassen sich Shops zuordnen; das Portal zeigt nur Inhalte des eigenen Shops.
Dienste
Datenraumrecht (drei Schichten in einem Entscheidungspunkt), Datenraumzugang (Rechtevergabe, E-Mails), Vertrag im Datenraum (Status, Kündigungsantrag), Wasserzeichen, Ausgabe mit Wasserzeichen (Paket), Dokumentenablage.
Anmeldung und Konto
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
- Anmeldung mit dem Benutzerstamm des Frameworks (Benutzername + Passwort, aktiver Benutzer). Es gibt keine Versuchsbegrenzung.
- „Angemeldet bleiben“: 30-Tage-Token, als Hash in
doc_portal_token; Cookiesecure,httponly,SameSite=Lax. Beim Abmelden wird das Token gelöscht. - Aktivierungs- oder Einladungslink: einmalig, 7 Tage gültig (
user_invite, SHA-256-Hash); eigenes Passwort mindestens 8 Zeichen mit Bestätigung, danach automatische Anmeldung. - Passwort vergessen: Benutzername oder E-Mail → einmaliger Link, 2 Stunden gültig.
- Jede Anfrage prüft erneut, ob der Benutzer aktiv ist.
Zustimmung zu Bedingungen
- Die Theme-Einstellung („Rechtliche und Kontaktseiten“, „Zustimmung zu den Bedingungen verpflichtend“) legt Quelle (
information:IDodercms:ID), Hash des Texts in allen Sprachen (Version) und Titel der Zustimmungsseite in der Konfiguration ab. - Eingeschaltet folgt nach der Anmeldung die Zustimmungsseite; ohne Zustimmung liefert kein Raum-Endpunkt Daten.
- Erfassung:
doc_room_consent(Benutzer, Shop, Quelle,content_hash, Sprache, IP, Browser, Zeitpunkt). Ein geänderter Text ergibt einen neuen Hash → erneute Zustimmung nötig. - Widerruf im Admin-Benutzerformular (
user/user.consentreset, Rechtuser/user+consentreset): Die Zeile bleibt,revoked_atundrevoked_bywerden gesetzt. - Vor dem ersten Download oder Teilen mit Wasserzeichen erscheint einmal je Sitzung ein Hinweis.
- Ist eine gespeicherte Informationsseite Bedingungsquelle eines Datenraum-Shops, sendet das Ereignis (
event/roompolicy.changed) eine E-Mail an die berechtigten Benutzer (room_terms_changed).
Portal-Endpunkte
document/document (Anmeldeseite oder Raum), .login, .logout, .setpassword, .setpasswordsave (gültiger Link), .forgot, .consent (angemeldet, POST + CSRF). JSON-Fehler haben die Struktur error + error_code. Protokollkanal: document/portal; jedes Portalereignis mit IP (X-Forwarded-For) und Browser.
Bekannte Einschränkungen
Die Portal-Anmeldung hat keine Versuchsbegrenzung. Mit echten Anmeldungen in einem Live-Datenraum lief sie noch nicht.