Skip to main content

👤 Access Control List (ACL)

Benutzer, Rollen und Zugriffsrechte

1) Zugriffssteuerungslisten (ACLs) → Zugriffs-Richtlinien

  1. Öffne Sicherheit → Zugriffssteuerungslisten (ACLs) → Zugriffs-Richtlinien.
  2. Kopiere die Richtlinie Content Editor
    (Kontextmenü → Duplizieren) und benenne diese z.B.
    Content Editor MODX
    Wichtig: Eigene Kopien werden bei Updates nicht überschrieben.
  3. In der duplizierten Richtlinie kannst du alle Berechtigungen individuell anpassen.
    (Export und Import sind ebenfalls möglich.)
  4. Speichern

2) Neue Rolle „Editor“ anlegen

  1. Menü Sicherheit → Zugriffssteuerungslisten (ACLs) → Rollen
  2. + Neue Rolle
    • Name: Editor
    • Authority: 10
    • Beschreibung: Inhaltsredakteur (eingeschränkter Manager-Zugriff)
  3. Speichern

3) Benutzergruppe „Redaktion“ anlegen

  1. Öffne Sicherheit → Zugriffssteuerungslisten (ACLs).
  2. Wechsle in den Reiter „Benutzergruppen & Benutzer“.
  3. Klicke auf + Neue Benutzergruppe und trage ein:
    • Name: Redaktion
    • Beschreibung: Redakteur pflegt die Inhalte der Webseite
  4. Speichern

MODX_ACL.jpg

Optional: Unter Einstellungen → Dashboards kannst du das Standard-Manager-Dashboard duplizieren und für normale Benutzer anpassen. Das angepasste Dashboard weist du später in den ACL-Einstellungen der Benutzergruppe zu, damit Redakteure beim Login eine eigene Startansicht bekommen.


4) Zugriffsrechte zuweisen

💡 Die Access-Policy „Content Editor“ wurde dupliziert, damit eigene Rechte-Sets auch nach Updates erhalten bleiben.
Häufig werden nur ausgewählte Einstellungen benötigt – zum Beispiel 46 von 185 möglichen Berechtigungen.
Diese lassen sich bei Bedarf exportieren und wieder importieren.
Die finalen Einstellungen sollten anschließend mit einem Redakteur-Account getestet werden.

Beispiel: 46 Berechtigungen
change_password, change_profile, class_map, countries, delete_document, directory_create, directory_list, directory_remove, directory_update, edit_document, file_create, file_list, file_manager, file_remove, file_tree, file_update, file_upload, file_view, formit, frames, home, language, list, load, logout, menu_reports, menu_site, menu_tools, menu_user, new_document, new_weblink, publish_document, resource_duplicate, resource_quick_create, resource_quick_update, resource_tree, save_document, search, source_view, tree_show_element_ids, tree_show_resource_ids, undelete_document, unpublish_document, view, view_document, view_template


5) Benutzer anlegen und zuweisen

  1. Menü Sicherheit → Benutzer → Erstellen
  2. Reiter Allgemeine Informationen:
    • Benutzername, Passwort und E-Mail festlegen
    • Checkbox „Aktiv“ einschalten
    • Optional: Passwort direkt vergeben
  3. Reiter Zugriffsrechte:
    • Benutzer zur Gruppe hinzufügen
    • Benutzergruppe: Redaktion
    • Rolle: Editor
  4. Speichern
  5. Menü Sicherheit → Ihre Berechtigungen neu laden (Flush Permissions)

6) Benutzer auf bestimmte Media Sources einschränken

Ab MODX 2.2+ (und in MODX 3 standardmäßig) werden Datei-Berechtigungen über Media Sources gesteuert.

Erstelle zuerst einen Ordner:
assets/modx/content/redaktion


7. Neue Media Source anlegen

Menü Medien → Medienquellen → Erstellen

  • Name: z.B. Redaktion-Dateien
  • Quellen-Typ: Dateisystem
  • basePath: assets/modx/content/redaktion/
  • baseUrl: assets/modx/content/redaktion/
  • basePathRelative: Ja
  • baseUrlRelative: Ja

Speichern

Wichtig:
Die bestehende Media Source Filesystem habe ich nur für den Administrator zugänglich gemacht (Zugriffsrechte: Benutzergruppe: Administrator / Rolle: Super User – 0).
Alle anderen Benutzer erhalten dadurch ausschließlich Zugriff auf ihre eigenen Media Sources.


8. Zugriffsrechte für die Media Source setzen

  1. Reiter Zugriffsrechte öffnen
  2. Benutzergruppe hinzufügen
    • Benutzergruppe: Administrator
    • Mindestens benötigte Rolle: Super User - 0
    • Zugriffs-Richtlinie: Media Source Admin
  3. Speichern
    Danach erscheint ein eigener Eintrag für die Benutzergruppe Administrator.

  1. Weiter im Reiter Zugriffsrechte
  2. Benutzergruppe hinzufügen
    • Benutzergruppe: Redaktion
    • Mindestens benötigte Rolle: Editor - 10
    • Zugriffs-Richtlinie: Media Source Admin
  3. Speichern
    Danach erscheint ein eigener Eintrag für die Benutzergruppe Redaktion.

Jeweils auf die Zugriffs-Richtlinie „Media Source Admin“ klicken und die Berechtigungen nach Bedarf anpassen:

  • copy
  • create
  • list
  • load
  • remove
  • save
  • view

Speichern


9) Benutzerprofil erweitern

  1. Menü Sicherheit → Benutzer → gewünschten Benutzer auswählen
  2. Reiter „Einstellungen“ öffnen
  3. Diese Einstellung hinzufügen bzw. bearbeiten:
    • Schlüssel: default_media_source
    • Name: Default Media Source
    • Beschreibung: setting_default_media_source_desc
    • Feldtyp: Textfeld
    • Namensraum: core
    • Wert: ID der Media Source „Redaktion-Dateien“ z.B.:2
  4. Speichern

10. Berechtigungen aktualisieren und testen

  • Menü Sicherheit → Ihre Berechtigungen neu laden (Flush Permissions)
  • Mit dem Redakteur einloggen → der Benutzer sollte nur Zugriff auf den definierten Media-Source-Ordner haben.


11. Ressourcen nur für Administrator bearbeitbar machen

Damit bestimmte Dokumente nur vom Administrator bearbeitet werden können, nutzt MODX Ressourcen-Gruppen.
Der Tab „Ressourcen-Gruppen“ erscheint erst, wenn mindestens eine Gruppe existiert.

a) Ressourcen-Gruppe „AdminOnly“ anlegen

  1. Menü Sicherheit → Ressourcen-Gruppen
  2. Ressourcen-Gruppe erstellen
    • Name: AdminOnly
    • Kontext: web
    • Keine Checkbox aktivieren
  3. Speichern

b) Ressourcen-Gruppe der Administrator-Benutzergruppe zuweisen

  1. Menü Sicherheit → Zugriffssteuerungslisten (ACLs)
  2. Reiter „Benutzergruppen & Benutzer“
  3. Benutzergruppe Administrator auswählen
  4. Benutzergruppe bearbeiten
  5. Reiter „Zugriffsrechte“
  6. In der linken Spalte „Ressourcen-Gruppen“ wählen
  7. Ressourcen-Gruppe hinzufügen
    • Ressourcen-Gruppe: AdminOnly
    • Kontext: Manager (mgr)
    • Mindestens benötigte Rolle: Super User – 0
    • Zugriffs-Richtlinie: Resource
  8. Speichern
  • Menü Sicherheit → Ihre Berechtigungen neu laden (Flush Permissions)

⚠️ Wenn der Context versehentlich auf web gesetzt wird, ist die Ressource auch im Frontend gesperrt.

💡 Im Menü Sicherheit → Ressourcen-Gruppen bekommst du eine übersichtliche Ansicht deiner bestehenden Gruppen und kannst per Drag & Drop deine Ressourcen von der Website in AdminOnly verschieben (entfernen per Kontextmenü).

Ressourcen-Gruppen.jpg


c) Dokument einem geschützten Bereich zuordnen

  1. Ein Dokument öffnen (z.B. Impressum)
  2. Reiter „Ressourcen-Gruppen“
  3. Häkchen bei AdminOnly setzen
  4. Speichern

✅ Ergebnis

Nur Administratoren können dieses Dokument sehen und bearbeiten. Andere Benutzergruppen (z.B. „Redaktion“) sehen es nicht und können es nicht öffnen.

🔄 Zusammenfassung (Best Practice)

  • Rollen bestimmen Berechtigungslevel (z.B. 10 = Editor).
  • Benutzergruppen bündeln User mit gleichen Aufgaben.
  • Kontexte trennen Manager (mgr) und Frontend (web).
  • Media Sources steuern Dateizugriffe.
  • Ressourcengruppen regeln Frontend-Zugriff.
  • Nach Änderungen immer „Berechtigungen neu laden (Flush Permissions)“ ausführen.

🧩 Relevante Docs