Configuración de los permisos de la tabla de tareas pendientes
Diríjase a la pestaña Permissions en la tabla todos
para agregar los permisos pertinentes.
Insertar el permiso
Daremos permiso a los usuarios registrados, mediante la creación de una nueva entrada de tarea pendiente, para especificar solo las columnas is_public y title.
- En el cuadro de texto Enter new role, escriba «user»
- Haga clic en el icono de editar (lápiz) para ver los permisos de «insert». Esto abriría abajo una sección que le permite configurar las comprobaciones personalizadas y permitir las columnas.
- En custom check, elija la siguiente condición
{"user_id":{"_eq":"X-Hasura-User-Id"}}
Ahora, en Column insert permissions, seleccione las columnas is_public
y title
.
Finalmente, en Column presets, seleccione user_id
desde from session variable
asignando a X-HASURA-USER-ID
.
Nota: las variables de sesión son pares clave-valor devueltos por el servicio de autenticación para cada solicitud. Cuando un usuario hace una solicitud, el token de la sesión se asigna a una USER-ID
. Esta USER-ID
puede utilizarse en el permiso para mostrar que las inserciones en una tabla solo se permiten si la columna user_id
tiene un valor igual al de USER-ID
, la variable de la sesión.
Haga clic en Save Permissions
.
Seleccione el permiso
Permitiremos a los usuarios ver una entrada de tareas pendientes si es pública o si son usuarios registrados.
Ahora, haga clic en el icono de editar para ver los permisos «select». En custom check, elija la siguiente condición
{"_or":[{"is_public":{"_eq":true}},{"user_id":{"_eq":"X-Hasura-User-Id"}}]}
En Column select permissions, seleccione todas las columnas.
Haga clic en Save Permissions
Permiso de actualización
Permitiremos que un usuario actualice solo la columna is_completed.
Ahora, haga clic en el icono de edición para ver los permisos de «update». En custom check de pre-update elija With same custom checks as insert
.
Y en Column update permissions, seleccione la columna is_completed
.
Haga clic en Save Permissions
cuando haya terminado.
Eliminación del permiso
Solo los usuarios registrados pueden eliminar una entrada de tarea pendiente.
Finalmente, para eliminar el permiso, debajo de custom check, elija With same custom checks as insert, update
.
Haga clic en Save Permissions
y ya ha finalizado con el control de acceso para la tabla todos
.
- Build apps and APIs 10x faster
- Built-in authorization and caching
- 8x more performant than hand-rolled APIs