FastComments.com



Che cos'è il controllo accessi? Internal Link

Con FastComments SSO Access Control, talvolta indicato come RBAC, gli utenti possono essere limitati ad accedere solo a determinate pagine o thread di commenti. Inoltre, gli utenti possono @mentionarsi solo tra loro nello stesso gruppo.

In dettaglio

Possiamo inserire Users e opzionalmente Pages in gruppi.

Quando i Users sono inseriti in gruppi, e l'opzione Limit Comments by SSO User Groups è abilitata nelle impostazioni del widget, allora gli utenti vedranno solo i commenti degli utenti nel loro stesso gruppo e potranno @mentionare solo utenti nello stesso gruppo.

Inoltre, le Pages possono essere inserite in gruppi, e allora gli utenti possono accedere ai commenti solo per le pagine a cui hanno accesso.

Li chiamiamo gruppi "User-Level" rispetto ai gruppi "Page-Level".

Quindi quale è quello giusto per te?

Usa i gruppi User-Level se...

  • Vuoi usare lo stesso valore urlId (URL della pagina, o ID dell'articolo), ma limitare i commenti per gruppo.
  • Per esempio, vuoi avere i gruppi "New User" e "Veteran User", e non dovrebbero mai vedere i commenti l'uno dell'altro sulle stesse pagine.

Usa i gruppi Page-Level se...

  • I tuoi gruppi hanno pagine specifiche.
  • Per esempio, gli utenti nel gruppo "Public Pages" non dovrebbero mai visualizzare gli articoli "Top Secret".

Come funziona Internal Link

Il controllo accessi di FastComments funziona assegnando Pages e Users ai gruppi desiderati.

Un gruppo è semplicemente un identificatore di stringa, come GREEN o abc-123.

Users e Pages non sono limitati a un solo gruppo. Sono limitati rispettivamente a 100 e 1000 gruppi.

Accesso a pagine non autorizzate

Se un utente prova ad accedere a una pagina a cui non ha accesso, vedrà un messaggio di errore, come qui sotto:

Esempio di errore di autorizzazione
Esempio di errore di autorizzazione

Il testo del messaggio può essere personalizzato.


La specifica Internal Link

Definire come più utenti interagiscono e testarlo è complicato. Ecco la seguente specifica che seguiamo per il controllo degli accessi, che puoi usare per testare la tua implementazione:

Pagina con null group ids, utente con null group ids - dovrebbe avere accesso.
Pagina con null group ids, utente con group ids - dovrebbe avere accesso.
Pagina con group ids, utente con null group ids - dovrebbe avere accesso.
Pagina con group ids, utente con empty list - NON dovrebbe avere accesso.
Pagina con group ids, utente con group ids - esiste intersezione - dovrebbe avere accesso.
Pagina con group ids, utente con group ids - non esiste intersezione - NON dovrebbe avere accesso.
Pagina con empty list di group ids (nessuno ha accesso), utente con null - NON dovrebbe avere accesso.

SSO User A = No group ids defined (null = full access).
SSO User B = No group ids defined (null = full access).
A può @B.

SSO User A = No group ids defined (null = full access).
SSO User B = Group ids defined.
A può @B.

SSO User A = Group ids defined.
SSO User B = No group ids defined (null = full access).
A può @B.

SSO User A = Group ids = [a].
SSO User B = Group ids = [b].
A NON può @B.

SSO User A = Group ids = [a].
SSO User B = Group ids = [a, b].
A può @B.

Implementazione Internal Link

Menzionare utenti in altri gruppi

Se due utenti appartengono a due diversi insiemi di gruppi e non c'è intersezione, non potranno @mentionarsi a vicenda.

Se un utente digita manualmente un @mention e invia il suo commento, rimarrà testo semplice. L'altro utente non verrà taggato.

Gestione dei gruppi

Groups sono definiti utilizzando rispettivamente le risorse API Pages e SSOUsers.

L'API Pages può essere invocata per definire l'insieme di gruppi autorizzati ad accedere alla pagina. Per impostazione predefinita, tutti i gruppi e gli utenti che non appartengono a un gruppo hanno accesso.

Allo stesso modo, l'API SSOUsers può essere invocata per definire i gruppi associati a ciascun utente.

Per entrambe le risorse, non ci sono limitazioni su quando i gruppi possono essere impostati o aggiornati.

Se si desidera soltanto impedire che gli utenti si @mentionino a vicenda, allora non è necessario prendere in considerazione le Pages.

Nota!

La definizione e l'aggiornamento dei gruppi utente SSO non richiede l'uso dell'API e può invece essere aggiornato automaticamente definendo gli id dei gruppi nel payload SSO passato al widget dei commenti. Tuttavia, per elenchi estesi di gruppi, questo non è raccomandato poiché l'utente dovrebbe inviare questo payload ad ogni caricamento della pagina.