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.

  1. Anmeldung mit dem Benutzerstamm des Frameworks (Benutzername + Passwort, aktiver Benutzer). Es gibt keine Versuchsbegrenzung.
  2. „Angemeldet bleiben“: 30-Tage-Token, als Hash in doc_portal_token; Cookie secure, httponly, SameSite=Lax. Beim Abmelden wird das Token gelöscht.
  3. Aktivierungs- oder Einladungslink: einmalig, 7 Tage gültig (user_invite, SHA-256-Hash); eigenes Passwort mindestens 8 Zeichen mit Bestätigung, danach automatische Anmeldung.
  4. Passwort vergessen: Benutzername oder E-Mail → einmaliger Link, 2 Stunden gültig.
  5. Jede Anfrage prüft erneut, ob der Benutzer aktiv ist.

Zustimmung zu Bedingungen

  1. Die Theme-Einstellung („Rechtliche und Kontaktseiten“, „Zustimmung zu den Bedingungen verpflichtend“) legt Quelle (information:ID oder cms:ID), Hash des Texts in allen Sprachen (Version) und Titel der Zustimmungsseite in der Konfiguration ab.
  2. Eingeschaltet folgt nach der Anmeldung die Zustimmungsseite; ohne Zustimmung liefert kein Raum-Endpunkt Daten.
  3. 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.
  4. Widerruf im Admin-Benutzerformular (user/user.consentreset, Recht user/user + consentreset): Die Zeile bleibt, revoked_at und revoked_by werden gesetzt.
  5. Vor dem ersten Download oder Teilen mit Wasserzeichen erscheint einmal je Sitzung ein Hinweis.
  6. 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.