FastComments.com



¿Qué es el control de acceso? Internal Link

Con el Control de Acceso SSO de FastComments, a veces denominado RBAC, los usuarios pueden estar restringidos para acceder únicamente a ciertas páginas o hilos de comentarios. Además, los usuarios solo pueden @mention entre ellos dentro del mismo grupo.

En detalle

Podemos colocar Users y opcionalmente Pages en grupos.

Cuando Users se colocan en grupos, y Limit Comments by SSO User Groups está habilitado en la Configuración del widget, entonces los usuarios solo verán comentarios de usuarios en sus mismos grupos y solo podrán @mention a usuarios en esos mismos grupos.

Además, Pages pueden colocarse en grupos, y entonces los usuarios solo podrán acceder a comentarios de páginas a las que tengan acceso.

Llamamos a esto "grupos a nivel de usuario" frente a "grupos a nivel de página".

Entonces, ¿cuál es el adecuado para usted?

Utilice grupos a nivel de usuario si...

  • Desea usar el mismo valor urlId (URL de la página, o ID del artículo), pero restringir los comentarios por grupo.
  • Por ejemplo, desea tener los grupos "Usuario nuevo" y "Usuario veterano", y que nunca vean los comentarios del otro en las mismas páginas.

Utilice grupos a nivel de página si...

  • Sus grupos tienen páginas específicas.
  • Por ejemplo, los usuarios en el grupo "Páginas públicas" nunca deberían ver artículos en los artículos "Top Secret".

Cómo funciona Internal Link

El control de acceso de FastComments funciona asignando Pages y Users a los grupos deseados.

Un grupo es simplemente un identificador de cadena, como GREEN o abc-123.

Users y Pages no están limitados a un solo grupo. Están limitados a 100 y 1000 grupos, respectivamente.

Acceso a páginas no autorizadas

Si un usuario intenta acceder a una página a la que no tiene acceso, verá un mensaje de error como el siguiente:

Ejemplo de fallo de autorización
Ejemplo de fallo de autorización

El texto del mensaje se puede personalizar.


La especificación Internal Link

Definir cómo interactúan múltiples usuarios y probarlo es complicado. A continuación está la especificación que seguimos para el control de acceso, que puede usar para probar su implementación:

Página con IDs de grupo nulos, usuario con IDs de grupo nulos - debería tener acceso.
Página con IDs de grupo nulos, usuario con IDs de grupo - debería tener acceso.
Página con IDs de grupo, usuario con IDs de grupo nulos - debería tener acceso.
Página con IDs de grupo, usuario con lista vacía - NO debería tener acceso.
Página con IDs de grupo, usuario con IDs de grupo - existe intersección - debería tener acceso.
Página con IDs de grupo, usuario con IDs de grupo - no existe intersección - NO debería tener acceso.
Página con lista vacía de IDs de grupo (nadie tiene acceso), usuario con null - NO debería tener acceso.

SSO User A = No se han definido IDs de grupo (null = acceso total).
SSO User B = No se han definido IDs de grupo (null = acceso total).
A puede @B.

SSO User A = No se han definido IDs de grupo (null = acceso total).
SSO User B = IDs de grupo definidos.
A puede @B.

SSO User A = IDs de grupo definidos.
SSO User B = No se han definido IDs de grupo (null = acceso total).
A puede @B.

SSO User A = IDs de grupo = [a].
SSO User B = IDs de grupo = [b].
A NO puede @B.

SSO User A = IDs de grupo = [a].
SSO User B = IDs de grupo = [a, b].
A puede @B.

Implementación Internal Link

Mención de Usuarios en Otros Grupos

Si dos usuarios pertenecen a dos conjuntos diferentes de grupos, y no hay intersección, no podrán @mention entre sí.

Si un usuario escribe manualmente un @mention y envía su comentario, permanecerá como texto sin formato. El otro usuario no será etiquetado.

Mantenimiento de los Grupos

Groups se definen mediante los recursos API Pages y SSOUsers, respectivamente.

La API Pages puede invocarse para definir el conjunto de grupos permitidos para acceder a la página. Por defecto, todos los grupos, y los usuarios que no pertenecen a un grupo, tienen acceso.

De forma similar, la API SSOUsers puede invocarse para definir los grupos asociados a cada usuario.

Para ambos recursos, no hay limitaciones respecto a cuándo se pueden establecer o actualizar los grupos.

Si solo se desea impedir que los usuarios se @mentionen entre sí, entonces no es necesario tener en cuenta Pages.

¡Nota!

Definir y actualizar los grupos de usuarios SSO no requiere usar la API, y en su lugar puede actualizarse automáticamente definiendo los ids de grupo en el payload SSO pasado al widget de comentarios. Sin embargo, para listas grandes de grupos, esto no se recomienda ya que el usuario tendría que enviar este payload en cada carga de página.