Ghost: Members vs. Staff Members – Eine Detailabhandlung
Ghost unterscheidet konsequent zwischen zwei vollständig separaten Benutzer- und Datensystemen: Members (Mitglieder) und Staff Members (Mitarbeiter). Diese Trennung ist grundlegend für die Architektur der Plattform und hat erhebliche praktische Konsequenzen für E-Mail-Verwaltung und Authentifizierungsprozesse.
Architektonische Trennung
Members und Staff Members sind in separaten Datenbankeinträgen organisiert. Sie sind „zwei völlig verschiedene Entitäten". Diese architektonische Trennung bedeutet, dass die Systeme parallel existieren, aber nicht direkt miteinander verbunden sind.ghost+1
Members sind Besucher Ihrer Site, die sich registriert haben und ihren E-Mail-Link bestätigt haben. Sie haben folgende Attribute:[docs.ghost]
- Name
- E-Mail-Adresse (eindeutig pro Member)
- Abonnementstatus (kostenlos/bezahlt/kostenlos)
- Labels und Metadaten
Staff Members dagegen sind Benutzer, die zum Team der Publikation eingeladen werden. Sie haben Zugriff auf das Ghost Admin-Interface mit rollenbasierten Berechtigungen (Contributor, Author, Editor, Administrator, Owner).ghost+1
E-Mail-Adressenverwaltung: Die kritische Unterscheidung
Hier liegt der Knackpunkt Ihrer Frage. Ja, die gleiche E-Mail-Adresse kann sowohl als Staff Member als auch als Member verwendet werden – aber sie sind zwei völlig unterschiedliche Datensätze in zwei unterschiedlichen Systemen.[forum.ghost]
Dies ist möglich, weil:
- Separate Datenbanktabellen: Members und Staff-Benutzer werden nicht in einer einzigen Tabelle mit einem „Benutzertyp" gespeichert, sondern in separaten Tabellen mit jeweils eigenem Schema. Die Eindeutigkeitsbeschränkung (UNIQUE constraint) für die E-Mail-Adresse gilt innerhalb jeder Tabelle, nicht systemweit.ghost+1
- Unterschiedliche Authentifizierungsmechanismen:
- Members authentifizieren sich über passwordless Magic Links. Sie klicken auf einen Link, der per E-Mail versendet wird.ghost+1
- Staff Members authentifizieren sich über Passwort + E-Mail. Sie erhalten eine Einladungs-E-Mail mit einem Aktivierungstoken und setzen dann bei Annahme ein Passwort.[forum.ghost]
Praktisches Szenario: Mitglied wird später zum Autor/Staff Member
Ihre spezifische Frage: Was passiert, wenn sich ein Mitglied anmeldet und anschließend vom Admin als Autor eingeladen wird mit der gleichen Mailadresse?
Reihenfolge und Implikationen:
Szenario 1: Mitglied existiert zuerst, Admin lädt später als Staff ein
- Eine Person registriert sich als Member mit
author@example.com- Ein Eintrag wird in der members-Tabelle erstellt
- Sie erhalten eine Bestätigungs-E-Mail mit Magic Link
- Sie bestätigen ihre E-Mail durch Klick auf den Link
- Der Admin lädt diese Person später als Staff Member (Author) mit derselben E-Mail
author@example.comein- Ein separater Eintrag wird in der users (oder staff) Tabelle erstellt
- Eine Einladungs-E-Mail mit Aktivierungstoken wird versendet
- Diese Person akzeptiert die Einladung und setzt ein Passwort
- Ergebnis: Es existieren jetzt zwei separate Datensätze:
- Ein Member-Eintrag (
author@example.com) – mit Magic-Link-Authentifizierung - Ein Staff-Eintrag (
author@example.com) – mit Passwort-Authentifizierung
- Ein Member-Eintrag (
Keine Konflikte, keine Fehler. Das System erlaubt dies explizit.[forum.ghost]
Szenario 2: Staff Member existiert, Person registriert sich später als Member
Wenn umgekehrt zuerst ein Staff Member mit author@example.com existiert und diese Person sich dann selbst als Member registriert:
- Die Person navigiert zur Frontend-Anmeldeseite und gibt
author@example.comein - Ein neuer Member-Eintrag wird in der members-Tabelle erstellt
- Eine Bestätigungs-E-Mail wird versendet
- Nach Bestätigung existieren wieder zwei separate Einträge
Dies funktioniert reibungslos, da die Systeme vollständig unabhängig sind.
Können Staff Members automatisch Member werden?
Nein, und das ist wichtig: Staff Members sind nicht automatisch Members. Der Admin muss Staff-Mitglieder manuell hinzufügen, wenn sie auch Zugang zu Member-exklusiven Inhalten haben sollen.ghost+1
Dies wird häufig als „eine unbequeme Situation" empfunden – viele erwarten, dass Staff-Mitglieder automatisch Zugriff auf Member-Features hätten. Ghost bietet aber bewusst diesen Schutz:
„Ich denke, es gibt einen guten Grund, Staff und Members getrennt zu halten. Ich kann mir Fälle vorstellen, wo es Mitwirkende auf Ihrer Website gibt (aka Staff), denen Sie nicht automatisch Zugriff auf die höchsten oder irgendwelche bezahlten Abonnement-Stufen oder Zugriff zum Ansehen aller Inhalte geben möchten."[forum.ghost]
Praktische Workaround: Kostenlose Abonnements
Der empfohlene Ansatz ist:[forum.ghost]
- Laden Sie einen Staff-Mitarbeiter über das Staff-Menü ein
- Dieser akzeptiert die Einladung und wird Staff Member
- Rufen Sie separat das Members-Menü auf
- Klicken Sie „New Member" und tragen Sie die gleiche E-Mail-Adresse ein
- Weisen Sie diesem Member ein kostenloses Abonnement zu
Danach existieren beide Rollen für diese Person.
E-Mail-Eindeutigkeit: Besonderheiten
Bei Mitglieder-E-Mails gilt die Eindeutigkeit innerhalb der Members-Tabelle. Sie können keine zwei verschiedenen Member mit der gleichen E-Mail-Adresse haben. Allerdings:[magicpages]
- Eine E-Mail kann gleichzeitig ein Member und ein Staff Member sein (separate Tabellen)
- Eine E-Mail kann nicht zweimal als Member registriert sein
- Eine E-Mail kann nicht zweimal als Staff Member registriert sein (innerhalb der Staff-Tabelle)
Administrations-Implikationen
Für selbst gehostete Instanzen ist es wichtig zu verstehen:[forum.ghost]
- Transaktions-E-Mails (Einladungen, Bestätigungen, Passwort-Zurücksetzer) müssen konfiguriert sein, um Staff-Einladungen zu senden
- Der Admin kann E-Mails überhaupt nicht „doppelt" vergeben – das System blockiert das automatisch
- Die E-Mail-Konfiguration muss funktionieren für beide Systeme, funktioniert aber unabhängig davon
Zusammenfassung der Reihenfolge
Die Reihenfolge ist irrelevant. Egal ob:
- Person zuerst als Member, dann als Staff eingeladen wird, oder
- Person zuerst als Staff, dann selbst als Member registriert wird
...das System funktioniert ohne Konflikte, da es sich um zwei völlig separate Datenbanksysteme handelt. Die E-Mail-Adresse kann in beiden Systemen existieren, ohne dass Duplikat- oder Unique-Constraint-Fehler auftreten.ghost+2
Der Administrationsaufwand liegt lediglich darin, diese zwei Einträge manuell synchron zu halten – das System macht das nicht automatisch.[forum.ghost]
Comments ()