FastComments.com

Was ist Zugriffskontrolle? Internal Link

Mit FastComments SSO Access Control, manchmal als RBAC bezeichnet, können Benutzer darauf beschränkt werden, nur auf bestimmte Seiten oder Kommentar-Threads zuzugreifen. Zusätzlich, können sich Benutzer nur gegenseitig @mention in derselben Gruppe.

Im Detail

Wir können Users und optional Pages in Gruppen einteilen.

Wenn Users in Gruppen eingeordnet werden und Limit Comments by SSO User Groups in den Widget-Einstellungen aktiviert ist, dann sehen Benutzer nur Kommentare von Benutzern in ihren eigenen Gruppen und können nur Benutzer in denselben Gruppen @mention.

Außerdem können Pages in Gruppen eingeordnet werden, und dann können Benutzer nur auf Kommentare von Seiten zugreifen, auf die sie Zugriff haben.

Wir nennen das "User-Level"-Gruppen im Gegensatz zu "Page-Level"-Gruppen.

Welche ist also die richtige für Sie?

Verwenden Sie User-Level-Gruppen, wenn...

  • Sie denselben urlId-Wert (Seiten-URL oder Artikel-ID) verwenden möchten, aber Kommentare nach Gruppe einschränken wollen.
  • Zum Beispiel möchten Sie Gruppen "New User" und "Veteran User" haben, und sie sollten niemals die Kommentare der jeweils anderen auf denselben Seiten sehen.

Verwenden Sie Page-Level-Gruppen, wenn...

  • Ihre Gruppen spezifische Seiten haben.
  • Zum Beispiel sollten Benutzer in der Gruppe "Public Pages" niemals Artikel der Gruppe "Top Secret" ansehen.

Wie es funktioniert Internal Link

FastComments Zugriffssteuerung funktioniert, indem Pages und Users den gewünschten Gruppen zugewiesen werden.

Eine Gruppe ist einfach ein String-Kennzeichen, wie GREEN oder abc-123.

Users und Pages sind nicht auf nur eine Gruppe beschränkt. Sie sind jeweils auf 100 bzw. 1000 Gruppen begrenzt.

Zugriff auf nicht autorisierte Seiten

Wenn ein Benutzer versucht, auf eine Seite zuzugreifen, auf die er keinen Zugriff hat, sieht er eine Fehlermeldung wie unten:

Beispiel für Autorisierungsfehler
Beispiel für Autorisierungsfehler

Der Meldungstext kann angepasst werden.


Die Spezifikation Internal Link

Die Definition, wie mehrere Benutzer interagieren, und deren Test ist kompliziert. Hier ist die folgende Spezifikation, der wir für die Zugriffskontrolle folgen, die Sie zum Testen Ihrer Implementierung verwenden können:

Seite mit null Gruppen-IDs, Benutzer mit null Gruppen-IDs - sollte Zugriff haben.
Seite mit null Gruppen-IDs, Benutzer mit Gruppen-IDs - sollte Zugriff haben.
Seite mit Gruppen-IDs, Benutzer mit null Gruppen-IDs - sollte Zugriff haben.
Seite mit Gruppen-IDs, Benutzer mit leerer Liste - sollte KEINEN Zugriff haben.
Seite mit Gruppen-IDs, Benutzer mit Gruppen-IDs - Schnittmenge vorhanden - sollte Zugriff haben.
Seite mit Gruppen-IDs, Benutzer mit Gruppen-IDs - Schnittmenge nicht vorhanden - sollte KEINEN Zugriff haben.
Seite mit leerer Liste von Gruppen-IDs (niemand hat Zugriff), Benutzer mit null - sollte KEINEN Zugriff haben.

SSO User A = Keine Gruppen-IDs definiert (null = voller Zugriff).
SSO User B = Keine Gruppen-IDs definiert (null = voller Zugriff).
A kann @B.

SSO User A = Keine Gruppen-IDs definiert (null = voller Zugriff).
SSO User B = Gruppen-IDs definiert.
A kann @B.

SSO User A = Gruppen-IDs definiert.
SSO User B = Keine Gruppen-IDs definiert (null = voller Zugriff).
A kann @B.

SSO User A = Gruppen-IDs = [a].
SSO User B = Gruppen-IDs = [b].
A kann NICHT @B.

SSO User A = Gruppen-IDs = [a].
SSO User B = Gruppen-IDs = [a, b].
A kann @B.

Implementierung Internal Link

Erwähnen von Benutzern in anderen Gruppen

Wenn zwei Benutzer zu zwei verschiedenen Gruppensätzen gehören und sich diese nicht überschneiden, können sie sich nicht gegenseitig @mention.

Wenn ein Benutzer manuell ein @mention eingibt und seinen Kommentar absendet, bleibt es als Klartext. Der andere Benutzer wird nicht markiert.

Verwaltung der Gruppen

Groups werden jeweils mit den API-Ressourcen Pages und SSOUsers definiert.

Die Pages API kann aufgerufen werden, um die Menge der Gruppen zu definieren, die Zugriff auf die Seite haben. Standardmäßig haben alle Gruppen und Benutzer, die keiner Gruppe angehören, Zugriff.

Ebenso kann die SSOUsers API aufgerufen werden, um die mit jedem Benutzer verknüpften Gruppen zu definieren.

Für beide Ressourcen gibt es keine Einschränkungen, wann die Gruppen gesetzt oder aktualisiert werden können.

Wenn es nur darum geht, zu verhindern, dass Benutzer sich gegenseitig mit @mention markieren, müssen die Pages nicht berücksichtigt werden.

Hinweis!

Das Definieren und Aktualisieren der SSO-Benutzergruppen erfordert nicht die Verwendung der API und kann stattdessen automatisch aktualisiert werden, indem die Gruppen-IDs im SSO-Payload definiert werden, der an das Kommentar-Widget übergeben wird. Bei großen Gruppenlisten wird dies jedoch nicht empfohlen, da der Benutzer dieses Payload bei jedem Seitenaufruf übermitteln müsste.