Zentrales Frontend-Berechtigungsaddon für REDAXO mit Rollenmatrix, Medienpool-Schutz, Login/Profil-Flow, Admin-Imitation, Zugriffsanfragen, Medien-Freigabelinks und One-Time-Pastebin.
Viele Projekte scheitern nicht an fehlenden Rechten, sondern an fehlender Übersicht:
- Rechte sind verteilt über viele Artikel-Metafelder.
- Regeln sind für Redakteure kaum nachvollziehbar.
- Medien sind häufig unabsichtlich öffentlich.
KLXM Restricted löst genau dieses Problem mit einer zentralen Matrix und klaren Vererbungsregeln.
KLXM Restricted ist kein YCom-Ersatz und soll das auch nicht sein.
Das Addon wurde auf konkreten Kundenwunsch entwickelt mit Fokus auf:
- einfache Einrichtung,
- schnelle Inbetriebnahme mit mitgelieferten Modulen,
- unkomplizierte Verwaltung von Zugriffsrechten im Projektalltag.
Im Ausblick planen wir zusätzlich optionale Social-/Fediverse-Login-Anbindungen (z. B. Google und Apple), ohne den Charakter als schlankes Berechtigungs- und Access-Addon zu verlieren.
- 🚀 Zentrale Rechteverwaltung statt verstreuter Einzelfelder.
- 🧭 Kaskadierende Regeln für Kategorien und Unterseiten.
- 🛡️ Schutz von Artikeln und Medien mit derselben Logik.
- 👀 Sichtbare, reproduzierbare Entscheidungen im Frontend-Flow.
- 📬 Klarer Redaktionsworkflow für Zugriffsanfragen.
- 🔗 Temporäre, passwortgeschützte Medienfreigaben mit ZIP-Option.
- 🔥 Einmal abrufbare Geheimtexte (Pastebin) mit Vernichtung nach Abruf.
| Feature | Was ist daran cool? | Für wen? |
|---|---|---|
| 🧩 Einfache Einrichtung mit mitgelieferten Modulen | Login, Registrierung, Profil und User-Widget sind sofort als Module synchronisierbar | Redaktion, Integratoren |
| 🔐 Rechte-Matrix (Struktur + Medienpool) | Ein Ort für alle Regeln statt Metadaten-Chaos in vielen Artikeln | Admins, Redakteure |
| 🔗 Medien teilen im Mediapool | Share-Links mit Passwort, Ablauf, Limit, ZIP und Copy-Button direkt im Workflow | Redaktion, Projektteams |
| 🔥 One-Time Pastebin | Sensible Inhalte nur einmal sichtbar, danach serverseitig vernichtet | Admins, DevOps, Support |
| 🌗 Moderne Share/Pastebin-Seiten | Light/Dark/Auto + DE/EN Umschaltung ohne Framework-Zwang | Externe Empfänger |
| 🎨 Branding für öffentliche Seiten | Eigener Titel, Untertitel und Akzentfarbe für professionellen Auftritt | Agenturen, Unternehmen |
| 🧠 DB-Sessionmanagement | Bessere Kontrolle laufender Sessions inkl. Backend-Ansicht und Beenden-Funktion | Admins |
| 🧰 URL-Normalizer | Funktioniert robust auch mit HTML-escaped Copy/Paste-Links (&, &) |
Alle Nutzer |
- Keine Rechte-Ratespiele mehr: Entscheidungen sind nachvollziehbar und reproduzierbar.
- Sicheres Teilen ohne Extra-Portal: Mediapool-Link erzeugen, senden, fertig.
- Geheime Daten bleiben nicht liegen: One-Time-Prinzip reduziert Risiken deutlich.
- Bessere User Experience für Empfänger: modern, mobil, mehrsprachig, hell/dunkel.
- Verwaltung von Rollen auf Kategorie-, Artikel- und Medienkategorie-Ebene.
- Pseudo-Rollen für typische Fälle:
- Öffentlich
- Nur angemeldet
- Nur Gäste
- Direkte Speicherung per AJAX.
- Rechte auf Kategorie-Ebene werden an Unterkategorien/Artikel vererbt.
- In Navigationsausgaben werden nicht erlaubte Elemente über
ART_IS_PERMITTEDundCAT_IS_PERMITTEDausgeblendet.
- Zugriff wird in
MEDIA_MANAGER_BEFORE_SENDgeprüft. - Nur echte Medienpool-Dateien werden eingeschränkt.
- Nicht-restricted Inhalte bleiben verfügbar.
- Im REDAXO-Backend angemeldete Benutzer werden beim Medienzugriff nicht blockiert (wichtig für Backend-Workflows wie z. B. Focuspoint).
- Eigener Auth-Flow für Restricted-User.
- Theme-fähige Fragmente (
bootstrap,uikit3,tailwind). - Profilverwaltung inkl. Passwortänderung.
- Frontend-Sessions werden serverseitig in der Datenbank gespeichert (
rex_klxm_restricted_session). - Inaktivität und maximale Laufzeit sind konfigurierbar.
- Sessions werden beim Login angelegt, bei Aktivität aktualisiert und bei Logout entfernt.
- Abgelaufene Sessions werden automatisch bereinigt.
- Eigene Unterseite
Restricted > Sessions. - Filter nach Benutzer.
- Sichtbar sind u. a. Session-ID, IP, User-Agent, Startzeit und letzte Aktivität.
- Einzelne Sessions können aktiv beendet werden.
- Admins können Frontend als gewählten Restricted-User testen.
- Sichtbarer Imitationshinweis und sicherer Beenden-Flow.
- Optional pro Kategorie/Artikel aktivierbar (Matrix).
- Besucher können Zugriff anfragen.
- Backend-Inbox mit Statusfilter und Aktionen (
approve,reject).
- Eigene Mediapool-Unterseite:
Mediapool > Medien teilen. - Redakteure können eine Medienpool-Kategorie wählen und Dateien freigeben.
- Optionen je Freigabe:
- Ablaufzeit (optional, leer = kein Ablauf)
- Optionales Passwort
- Optionales Download-Limit
- Einzeldatei-Download und optional ZIP-Download
- Freigabelink wird als absolute URL mit Domain erzeugt.
- Link ist in der Freigabe-Liste direkt kopierbar.
- Eigene Addon-Seite:
Restricted > Pastebin. - Einsatzzweck: Passwörter, Zertifikate, Geheimtexte mit optionalen Medien-Anhängen.
- Sicherheitsverhalten:
- Eintrag wird nach dem ersten Abruf serverseitig vernichtet.
- Optionales Zugriffspasswort.
- Optionales Ablaufdatum.
- Optionaler Download von Anhängen (aus Medienpool-Kategorie).
- Framework-unabhängiges Frontend-Design (kein Bootstrap/UITailwind-Zwang).
- Light / Dark / Auto umschaltbar.
- Deutsch / Englisch umschaltbar.
- Branding über Addon-Einstellungen:
- Titel
- Untertitel
- Akzentfarbe
Stand heute bedeutet approved in der Inbox:
- Statuswechsel der Anfrage.
- Noch keine automatische Gast-Freigabe per Token.
Das ist bewusst als nächster Ausbauschritt geplant (Issue im Projekt vorhanden).
- REDAXO >= 5.18
- PHP >= 8.4
- YForm >= 5.0
- Mediapool
- Im REDAXO-Backend den Installer öffnen.
- Nach
KLXM Restrictedsuchen und installieren. - Das Addon aktivieren.
- Unter
Restricted > Einstellungenmindestens konfigurieren:- Login-Artikel
- Redirect nach Login
- Theme-Framework
- Session Timeout (Minuten)
- Maximale Session-Laufzeit (Minuten)
Nur für Entwicklungs-Setups ohne REDAXO-Installer:
- Addon nach
redaxo/src/addons/klxm_restrictedlegen. - Abhängigkeiten installieren:
cd redaxo/src/addons/klxm_restricted
composer install- Im Backend installieren/aktivieren.
Für den schnellen Start bringt das Addon fertige Frontend-Module mit, die per Klick synchronisiert werden können.
- Gehe zu
Restricted > Setup. - Klicke auf
Module synchronisieren. - Nutze danach direkt die mitgelieferten Module in Artikeln:
klxm_restricted_loginklxm_restricted_registerklxm_restricted_profileklxm_restricted_widget
Damit bekommst du Login, Registrierung, Profil und Nutzerstatus ohne eigene Basis-Implementierung sofort live.
Neben Admin-Rechten können Features gezielt per Permission freigeschaltet werden:
klxm_restricted[share]für Medien-Freigabelinks im Mediapoolklxm_restricted[pastebin]für One-Time-Pastebin im Addon
Alle Änderungen stehen in CHANGELOG.md.
- Rollen anlegen (
Restricted > Rollen). - Matrix füllen (
Restricted > Rechte-Matrix). - Login-Artikel setzen (
Restricted > Einstellungen). - Test als Gast und als angemeldeter User.
- Optional: Zugriffsanfragen aktivieren (pro Kategorie/Artikel).
Das Login-Modul aus dem Addon kann direkt auf dem Login-Artikel eingebunden werden.
Alternative (direkt im Template/Modul):
<?php
use KLXM\Restricted\Frontend\LoginController;
echo LoginController::processRequest();<?php
use KLXM\Restricted\Auth;
use KLXM\Restricted\PermissionManager;
$auth = new Auth();
$pm = new PermissionManager();
$user = $auth->getUser();
if ($pm->checkArticleAccess($user, 42)) {
echo 'Erlaubt';
}PACKAGES_INCLUDED(Frontend-Zugriffsflow)ART_IS_PERMITTEDCAT_IS_PERMITTEDMEDIA_MANAGER_BEFORE_SENDMEDIA_IS_PERMITTED
- Ohne gesetzten Login-Artikel kann es zu unerwünschtem Verhalten im Redirect-Flow kommen.
- Bei parallelem Einsatz weiterer Auth-Addons (z. B. YCom Auth) sollten Redirect-Zuständigkeiten klar getrennt sein.
- Nach strukturellen Änderungen immer Backend-Cache leeren.
- Prüfen, ob der Benutzer in
Restricted > Benutzeraktiv ist (status = 1). - E-Mail exakt gegen den gespeicherten Wert prüfen (Vertipper sind eine häufige Ursache).
- Fehlversuche/Sperre kontrollieren (
failed_logins,login_locked_until). - Falls nötig Passwort neu setzen und erneut testen.
- Tokenbasierte Gast-Freigabe bei
approved. - Optionaler Mailversand für Anfragen/Freigaben.
- Ablauf- und Widerrufslogik für Freigaben.
KLXM Restricted fokussiert auf das, was in echten Projekten zählt: nachvollziehbare Rechte, sichere Auslieferung und einfache Bedienung für Redakteure.