Gatekeeper

RBAC-Plugin für Payload CMS v3: verwaltet Rollen als Permission-Strings mit Wildcards und trennt UI-Sichtbarkeit von Datenzugriff in jeder Collection.

Community 25 270/Wo. MIT v1.1.0

Installation

pnpm add payload-gatekeeper

Über

Das Plugin erweitert Payload CMS v3 um rollenbasierte Zugriffskontrolle (RBAC). Es legt eine Roles-Collection an, deren Slug sich konfigurieren lässt (Standard: "roles"), und synchronisiert sie beim Init. Administratoren definieren Rollen als Listen von Permission-Strings im Format `users.read` oder `media.*`. Der Wildcard `*` deckt alle Collections ab, sodass sich eine `super_admin`-Rolle mit einem einzigen Eintrag abbilden lässt. Das Plugin generiert die vollständigen CRUD-Permission-Sets für jede Collection automatisch, ohne dass eine manuelle Pflege nötig ist. Die Sichtbarkeit im Admin-Panel und die Datenzugriffe sind getrennt: `collection.manage` steuert, ob eine Collection in der Navigation auftaucht, während `collection.read`, `collection.create`, `collection.update` und `collection.delete` die eigentlichen Datenoperationen regeln. Für nicht authentifizierte Anfragen greift eine konfigurierbare Public-Rolle, die auf Nicht-Auth-Collections standardmäßig Leserechte vergibt. Auth-Collections wie Users sind unabhängig von der Public-Rolle immer geschützt. Der erste User in einer Admin-Collection kann automatisch die `super_admin`-Rolle erhalten. Die Konfiguration erfolgt pro Collection. Das Role-Feld lässt sich in einem benannten Tab, in der Sidebar oder an einer numerischen Position platzieren, und für neue Anmeldungen lässt sich eine Standardrolle festlegen. Rollen können als `protected` markiert werden, um die Bearbeitung zu verhindern, und über `visibleFor` auf die relevanten User-Collections einschränken. Eigene Permissions wie `event-management.export` lassen sich zusätzlich zu den generierten registrieren und werden im Role-Editor in Gruppen sortiert. Permission-Checks lassen sich per Config-Flag vollständig deaktivieren, was bei Seeds und Migrationen hilfreich ist. Das Plugin zielt auf Payload >=3.0.0 <4.0.0 mit React 19 und liefert ESM- und CJS-Builds. Eine Durchsetzung von Eigentümerschaft auf Zeilenebene (Row-Level Ownership) findet nicht statt, sodass Patterns wie "Nutzer können nur das eigene Profil bearbeiten" separat umgesetzt werden müssen.

Paketinformationen

Paketname
payload-gatekeeper
Neueste Version
1.1.0
Entpackte Größe
404 kB
Lizenz
MIT
Wöchentliche Downloads
270
Zuletzt veröffentlicht
18. Aug. 2025

Ähnliche Plugins

Mehr in Auth