Search Documentation

Search for pages and headings in the documentation

Auditprotokoll

Das Auditprotokoll zeichnet sicherheits- und änderungsrelevante Aktionen in CrispyCMS lückenlos auf — von der Anmeldung eines Benutzers über das Bearbeiten einer Seite bis hin zum Wiederherstellen eines Backups. Es beantwortet die Frage „Wer hat wann was geändert?” ohne zusätzliche Konfiguration.


Was protokolliert wird

Jede protokollierte Aktion erhält einen eindeutigen Ereignis-Code. Die wichtigsten Kategorien:

BereichBeispiele
BenutzerAnmeldung, fehlgeschlagene Anmeldung, Abmeldung, Registrierung, Passwort-Reset, Profiländerung, Rollenänderung, Löschung
DateienHochladen, Löschen, Verschieben, Umbenennen, Aktualisieren
Seiten & StrukturAnlegen/Ändern/Löschen von Seiten, Kategorien, Rollen, Benutzern, Vorlagen, Layouts
WeiterleitungenAnlegen, Ändern, Löschen einer Weiterleitung (siehe Weiterleitungen)
PluginsInstallation, Deinstallation, Löschung
EinstellungenÄnderungen an den Systemeinstellungen
BackupsErstellen, Löschen, Wiederherstellen, Hochladen eines Backups
SystemBereinigung des Auditprotokolls selbst (siehe Aufbewahrung)

Für Erstellungen, Änderungen und Löschungen speichert CrispyCMS zusätzlich einen Feld-Diff: Bei Änderungen wird für jedes betroffene Feld der alte und der neue Wert festgehalten, bei Textfeldern zusätzlich als lesbarer Unified-Diff.


Übersicht: Verwaltung → Auditprotokoll

Die Übersicht listet alle Einträge chronologisch (neueste zuerst) mit 50 Einträgen pro Seite.

SpalteBeschreibung
#Interne, fortlaufende ID des Eintrags.
EreignisName des Ereignis-Codes (z. B. PAGE_UPDATE), farblich markiert nach Art: rot für Löschungen, grün für Erstellungen, gelb für Aktualisierungen, blau für Benutzeraktionen.
ObjektDer betroffene Objekttyp (Seite, Benutzer, Kategorie, Rolle, Vorlage, Layout, Plugin, …) samt ID, sofern zutreffend.
AkteurAvatar und Name des Benutzers, der die Aktion ausgelöst hat. Bei systemseitig ausgelösten Aktionen (z. B. automatische Bereinigung) bleibt das Feld leer.
ZeitstempelDatum und Uhrzeit der Aktion.

Filtern

Über die Filterleiste oberhalb der Tabelle können Sie die Liste eingrenzen:

  • Objekttyp — z. B. nur Einträge zu Seiten oder nur zu Benutzern.
  • Ereignis — ein konkreter Ereignis-Code aus der vollständigen Liste.

Mit Filter zurücksetzen oben rechts entfernen Sie alle aktiven Filter wieder.

Details zu einem Eintrag

Zwei Symbole am Zeilenende öffnen weitere Details, sofern vorhanden:

SymbolÖffnet
Änderungsvergleich (Diff-Symbol)Ein Dialog mit einer Tabelle aller geänderten Felder — jeweils mit Bezeichnung, altem und neuem Wert sowie, bei Textfeldern, einem farbig hervorgehobenen Diff.
Metadaten (Info-Symbol)Zusätzliche, ereignisspezifische Rohdaten im JSON-Format — z. B. Anzahl gelöschter Einträge bei einer automatischen Bereinigung.

Aufbewahrung & automatische Bereinigung

Damit das Auditprotokoll nicht unbegrenzt wächst, lässt sich unter Einstellungen → Sicherheit → Auditprotokoll-Aufbewahrung eine automatische Bereinigung konfigurieren.

EinstellungBeschreibung
Automatische Auditprotokoll-BereinigungSchaltet die automatische Löschung alter Einträge ein oder aus. Ist sie deaktiviert, bleiben alle Einträge unbegrenzt erhalten.
Aufbewahrungszeitraum (Tage)Anzahl der Tage, für die Einträge aufbewahrt werden, bevor sie automatisch gelöscht werden. Standard: 90 Tage.

Ist die automatische Bereinigung aktiviert, läuft nächtlich um 03:00 Uhr ein Hintergrundjob, der alle Einträge löscht, die älter als der konfigurierte Zeitraum sind. Jede durchgeführte Bereinigung wird selbst als Eintrag (AUDIT_LOG_CLEANUP) im Protokoll festgehalten — inklusive Anzahl der gelöschten Einträge als Metadaten.

Manuelles Bereinigen über die Kommandozeile

Für Administratoren mit Zugriff auf die Kommandozeile steht zusätzlich der Befehl crispy:audit-log:purge zur Verfügung:

# Einträge löschen, die älter sind als der konfigurierte Aufbewahrungszeitraum (Standard: 90 Tage)
crisp crispy:audit-log:purge

# Einträge löschen, die älter als 30 Tage sind
crisp crispy:audit-log:purge --days=30

# Wirklich ALLE Einträge löschen, unabhängig vom Alter
crisp crispy:audit-log:purge --all

# Bestätigungsabfrage überspringen (z. B. für automatisierte Skripte)
crisp crispy:audit-log:purge --force

Der Befehl zeigt vor dem Löschen zunächst an, wie viele Einträge betroffen wären, und fragt — sofern --force nicht gesetzt ist — eine Bestätigung ab.


Berechtigungen

BerechtigungBeschreibung
SuperuserEinzige Rolle mit Zugriff auf Verwaltung → Auditprotokoll.

Die Aufbewahrungseinstellungen unter Einstellungen → Sicherheit sind ebenfalls ausschließlich Superusern vorbehalten.