FastComments.com

Qu'est-ce que le contrôle d'accès ? Internal Link

Avec FastComments SSO Access Control, parfois appelé RBAC, les utilisateurs peuvent se voir limiter l'accès à certaines pages ou fils de commentaires. De plus, les utilisateurs ne peuvent @mention que des membres du même groupe.

En détail

Nous pouvons placer des Users et, facultativement, des Pages dans des groupes.

Lorsque des Users sont placés dans des groupes, et que Limit Comments by SSO User Groups est activé dans les Paramètres du widget, alors les utilisateurs ne verront que les commentaires d'utilisateurs appartenant aux mêmes groupes et ne pourront @mention que des utilisateurs du même groupe.

De plus, des Pages peuvent être placées dans des groupes, et alors les utilisateurs ne pourront accéder qu'aux commentaires des pages auxquelles ils ont accès.

Nous appelons cela des groupes de "User-Level" par opposition aux groupes de "Page-Level".

Alors, lequel vous convient le mieux ?

Use User-Level Groups if...

  • Vous souhaitez utiliser la même valeur urlId (URL de la page ou ID d'article), mais restreindre les commentaires par groupe.
  • Par exemple, vous souhaitez avoir des groupes "New User" et "Veteran User", et ils ne devraient jamais voir les commentaires des autres sur les mêmes pages.

Use Page-Level Groups if...

  • Vos groupes ont des pages spécifiques.
  • Par exemple, les utilisateurs du groupe "Public Pages" ne devraient jamais consulter les articles "Top Secret".

Comment ça fonctionne Internal Link


Le contrôle d'accès de FastComments fonctionne en assignant Pages et Users aux groupes souhaités.

Un groupe est simplement un identifiant de chaîne, comme GREEN ou abc-123.

Users et Pages ne sont pas limités à un seul groupe. Ils sont limités à 100 et 1000 groupes, respectivement.

Accès aux pages non autorisées

Si un utilisateur tente d'accéder à une page à laquelle il n'a pas accès, il verra un message d'erreur, comme ci-dessous :

Exemple d'échec d'autorisation
Authorization Failure Example

Le texte du message peut être personnalisé.


La spécification Internal Link

Définir la façon dont plusieurs utilisateurs interagissent, et le tester, est compliqué. Voici la spécification suivante que nous suivons pour le contrôle d'accès, que vous pouvez utiliser pour tester votre implémentation :

Page avec null group ids, utilisateur avec null group ids - devrait avoir accès.
Page avec null group ids, utilisateur avec group ids - devrait avoir accès.
Page avec group ids, utilisateur avec null group ids - devrait avoir accès.
Page avec group ids, utilisateur avec liste vide - ne devrait PAS avoir accès.
Page avec group ids, utilisateur avec group ids - l'intersection existe - devrait avoir accès.
Page avec group ids, utilisateur avec group ids - l'intersection n'existe pas - ne devrait PAS avoir accès.
Page avec liste vide de group ids (personne n'a accès), utilisateur avec null - ne devrait PAS avoir accès.

SSO User A = Aucun group ids défini (null = accès complet).
SSO User B = Aucun group ids défini (null = accès complet).
A peut @B.

SSO User A = Aucun group ids défini (null = accès complet).
SSO User B = Group ids définis.
A peut @B.

SSO User A = Group ids définis.
SSO User B = Aucun group ids défini (null = accès complet).
A peut @B.

SSO User A = Group ids = [a].
SSO User B = Group ids = [b].
A ne peut PAS @B.

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

Implémentation Internal Link

Mentionner des utilisateurs d'autres groupes

Si deux utilisateurs appartiennent à deux ensembles de groupes différents, et qu'il n'y a aucune intersection, ils ne pourront pas se @mentionner.

Si un utilisateur tape manuellement un @mention et soumet son commentaire, il restera sous forme de texte brut. L'autre utilisateur ne sera pas étiqueté.

Maintien des groupes

Groups sont définis en utilisant respectivement les ressources API Pages et SSOUsers.

L'API Pages peut être appelée pour définir l'ensemble des groupes autorisés à accéder à la page. Par défaut, tous les groupes, ainsi que les utilisateurs qui n'appartiennent pas à un groupe, ont accès.

De même, l'API SSOUsers peut être appelée pour définir les groupes associés à chaque utilisateur.

Pour les deux ressources, il n'y a aucune limitation quant au moment où les groupes peuvent être définis ou mis à jour.

Si l'on souhaite uniquement empêcher les utilisateurs de se @mentionner mutuellement, alors il n'est pas nécessaire de prendre en compte les Pages.

Remarque !

Defining and updating the SSO user groups does not require using the API, and can instead be updated automatically by defining the group ids in the SSO payload passed to the comment widget. However, for large lists of groups, this is not recommended as the user would have to submit this payload for every page load.