Grav-plugin-admin: Berechtigungen zum Ändern und Löschen von Seiten

Erstellt am 21. Apr. 2016  ·  16Kommentare  ·  Quelle: getgrav/grav-plugin-admin

Es wäre hervorragend, wenn wir einige Seiten sperren könnten, sodass Benutzer nur bestimmte Seiten und nicht die gesamte Website bearbeiten können. Vielleicht etwas über Benutzergruppen?

Beispielsweise könnte es Standardberechtigungen geben, vielleicht in user/config/admin/admin.yaml (oder vielleicht wäre es sinnvoller in Blaupausen, die es erlauben, diese Konfiguration je nach Vorlage festzulegen):

# Only admins can delete pages
permissions:
  pages:
    write: [admin, editor]
    delete: [admin]

Und die YAML-Konfiguration auf jeder Seite könnte diese Standardeinstellungen überschreiben:

---
title: Awesome page
permissions:
  write: [admin] # Limit changes to the admin group in the admin plugin
  delete: [] # Protect this page from deletion from the admin plugin

---

Anwendungsfälle zum Sperren einer Seite

  • Wenn Ihre Site-Struktur auf ein paar „Container“-Seiten (Blog, Abschnitt1, Abschnitt2…) ruht und Sie unbedachtes Löschen von _allem Inhalt_ in einem Abschnitt vermeiden möchten, indem Sie die Seiten der Ebene 1 sperren.
  • Wenn Sie die Fehlerseite oder andere "technische" Seiten schützen möchten.
  • Eine Website für Unternehmenskommunikation, auf der ein Redakteur oder eine Gruppe von Redakteuren in der Lage sein sollte, neue Blogbeiträge zu erstellen, möglicherweise die Stammseite „Blog“ zu ändern, aber NICHT zu löschen, und sollte nicht in der Lage sein, andere Seiten in anderen Abschnitten zu ändern (geschweige denn zu löschen). (oder die Homepage).

    Berechtigungstypen

Ich denke, eine einfache Implementierung könnte auf 2 Berechtigungen beschränkt werden:

  • schreiben
  • löschen

Ausgenommen dieser anderen gängigen Berechtigungstypen (weniger nützlich oder schwieriger zu verwalten):

  • lesen (die Notwendigkeit, Inhalte für Admin-Benutzer zu verbergen, scheint gering zu sein)
  • Seitenbesitz (schreiben/löschen Sie Ihre "eigenen" Seiten) -> fügt ein hohes Maß an Komplexität hinzu
  • addchild (steuert, ob eine Benutzergruppe eine untergeordnete Seite innerhalb einer Seite hinzufügen kann) -> fügt auch etwas Komplexität hinzu
1.10 enhancement fixed in repo

Hilfreichster Kommentar

Einige gute Ideen hier. Ich hatte eigentlich schon eine Notiz mit einigen Ideen, wie man die Berechtigungen verbessern kann. Ich werde dafür sorgen, dass dieses Ticket auch berücksichtigt wird. Danke!

Alle 16 Kommentare

Einige gute Ideen hier. Ich hatte eigentlich schon eine Notiz mit einigen Ideen, wie man die Berechtigungen verbessern kann. Ich werde dafür sorgen, dass dieses Ticket auch berücksichtigt wird. Danke!

@rhukster Hey, wollte nur wissen, ob es Fortschritte zu diesem Thema gibt, die ich verpasst habe?

Für ein bestimmtes Projekt benötige ich gruppenbasierte Bearbeitungsrechte für bestimmte Seiten oder Seiten eines Ordners. Dies ist die einzige Anforderung, die uns möglicherweise davon abhalten könnte, Grav 😞 zu verwenden

Es wäre wirklich hilfreich, wenn Sie in die richtige Richtung weisen könnten, indem Sie dies recherchieren.
Vielen Dank im Voraus für Ihre Hilfe.

Meistgesuchte Funktion!

stoßen

Ich habe Schüler, die an der Website unserer Schule arbeiten möchten. Im Moment geben sie mir nur die Informationen, die ich im Blog posten soll; Es wäre hilfreich, ihnen Zugriff auf bestimmte Seiten zu gewähren, damit ich mir keine Sorgen machen muss, dass ein Schüler versehentlich oder absichtlich die Titelseite oder etwas anderes Wichtiges bearbeitet.

Danke - hoffe, dass bei dieser Funktion Fortschritte gemacht werden!!

Wann können wir diese Funktion betrachten. Ich hoffe, dass es in der nächsten Version so sein wird. :-))

@brianjschott Sie können das Editable with SimpleMDE Plugin auschecken und testen, ob es für Ihren Zweck geeignet ist oder nicht. Die neueste Version unterstützt seitenbasierte Berechtigungen mit dem Grav-Benutzer- und Rollensystem. Sie können also auch Gruppen erstellen. Die Bearbeitung ist auf Seiten und nur im Frontend beschränkt.

Ich muss nicht-technischen Benutzern redaktionellen Zugriff gewähren, das würde mir definitiv helfen, nachts zu schlafen! :+1:

Irgendwelche Fortschritte dabei? Meistgesuchte Funktion.

Ich arbeite derzeit an der Unterstützung von Flex Pages und habe bereits Berechtigungen zum Löschen von Seiten (allerdings derzeit ohne Eigentümerunterstützung).

Einige gute Ideen hier. Ich hatte eigentlich schon eine Notiz mit einigen Ideen, wie man die Berechtigungen verbessern kann. Ich werde dafür sorgen, dass dieses Ticket auch berücksichtigt wird. Danke!

@rhukster Über 3 Jahre sind seit deinem Kommentar vergangen. Einige meiner Kunden wollen diese Funktion wirklich, aber wir als Grav-liebende Entwickler haben immer noch keine Informationen darüber.

@mahagr Was sind die Flex-Seiten? Es geht um css flexbox oder etwas anderes? Bitte gib mehr Infos 😉

Flex Pages basieren auf Grav Flex Objects, was nur ein cooler Name für die Klassen ist (Sie finden sie in Grav\Framework\Flex . :)

Kurz gesagt, Flex Objects wird das Flex Directory-Plugin ersetzen; Die Kernklassen befinden sich in Grav selbst, aber für CRUD benötigen Sie das Flex Objects-Plugin, das Auflistungs- und Bearbeitungsansichten bereitstellt, die sowohl im Admin- als auch im Frontend funktionieren. Allerdings bin ich mir nicht sicher, ob es funktionieren wird Frontend-Bearbeitung oder wenn Sie einige benutzerdefinierte Klassen/Routings durchführen müssen, damit es funktioniert. Wie auch immer, dieses Plugin wird nur für Admin-Aufgaben benötigt, Flex selbst läuft ohne es.

Flex Pages in Umsetzung der aktuellen Grav Pages, aber basierend auf diesen neuen Flex-Klassen. Die Verwendung von Flex hat gegenüber der alten Lösung einige Vorteile:

  • es führt einen Index aller Objekte und weiß, welche Objekte wann aktualisiert wurden
  • Aufgrund des Indexes werden Objekte nur bei Bedarf geladen
  • Es verfügt über integriertes Caching für Sammlungssuchen, Methodenaufrufe und sogar Rendering
  • Das Caching ist objektbasiert, sodass das Aktualisieren eines einzelnen Elements den Cache für die anderen nicht ungültig macht
  • Sammlungen sind viel mächtiger als mit alten Seiten; Sie können fast alles suchen
  • FlexPage ist eigenständig und viel einfacher zu verwenden als Page
  • Mit Flex können Sie Seiten ganz einfach an Ihre Bedürfnisse anpassen
  • Es ermöglicht Ihnen, einen eigenen Admin-Bereich zum Beispiel für Blog-Posts zu erstellen – getrennt von den anderen Seiten
  • ...

Es gibt noch mehr Vorteile, aber wir haben diese bereits in einigen unserer Projekte genutzt und alle sind so begeistert davon. Wir erzielen auf einer 4000-Seiten-Site leicht eine 10-mal bessere Leistung. Wir können benutzerdefinierte Typen erstellen, sogar Seiten, die getrennt von den regulären Seiten gespeichert werden und sich in einem separaten Abschnitt innerhalb von Admin befinden. Benutzer können ihre eigenen Seiten erstellen, indem sie einfache Formulare ausfüllen usw.

Vielen Dank für das Teilen dieser Informationen @mahagr 👍 Von allem, was Sie erwähnen (es klingt alles großartig!), sind fortgeschrittenere Seitensammlungen, Seitenanpassungen und separate Admin-Bereiche für verschiedene Seitentypen für mich am interessantesten. Bitte stimmen Sie für feinere Seitenberechtigungen ab, die in Bildungsszenarien mit Grav sehr wertvoll wären!

Nach diesem Beitrag. Brauche das jetzt dringend.

60153027-8420fb80-9815-11e9-831b-7a32f4f48f7b

Über diese Funktion würde ich mich auch sehr freuen. Bezieht sich auf dieses offene Erweiterungsproblem .

Dies wurde bereits in Grav 1.7 / Admin 1.10 implementiert

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen