Skip to main content
Esta página es parte de una habilidad de agente de codificación con IA y está escrita para agentes, no para humanos. Para la documentación de Base44 legible por humanos, consulta la documentación para desarrolladores.

Ejemplos de RLS

Patrones prácticos de seguridad a nivel de fila para tipos de aplicaciones comunes. Importante: El RLS de Base44 admite:
  • Operadores lógicos: $or, $and, $nor para combinar condiciones
  • Operadores de campo (para campos data.*): $in, $nin, $ne, $all
  • user_condition: Solo igualdad (sin operadores)

Contenido


Patrones simples (JSON Schema)

Estos patrones funcionan con el formato RLS de esquema JSON.

App de tareas - Acceso solo del propietario

Los usuarios ven y gestionan solo sus propias tareas.

Formulario de contacto - Creación pública, lectura solo de administrador

Cualquiera puede enviar, solo los administradores pueden ver los envíos.

Perfil de usuario - Autogestión

Los usuarios solo pueden acceder a su propio perfil.

Datos de departamento - Acceso del mismo departamento

Los usuarios solo pueden ver registros de su departamento.

Suscripción - Gestión de administrador, legible por usuario mediante campo de correo

Nota: Este patrón solo permite a los usuarios leer su propia suscripción. Los administradores necesitan usar la UI del panel para configurar acceso de lectura adicional para sí mismos.

Datos privados - Solo del propietario

Lectura pública, escritura autenticada

Cualquiera puede leer, solo usuarios registrados pueden crear/editar sus propios registros.

Uso de operadores

Operadores lógicos

Combina múltiples condiciones usando $or, $and o $nor: Acceso de propietario O administrador:
Múltiples roles con $or:

Operadores de campo para campos data.*

Usa $in, $nin, $ne, $all para comparar campos de datos de entidad: Acceso basado en etiquetas ($in):
Excluir estados específicos ($nin):
No igual ($ne):
Todas las etiquetas deben coincidir ($all):

Combinar operadores lógicos y de campo


Ejemplos de seguridad a nivel de campo

Controla el acceso a campos específicos dentro de una entidad.

Campo salary sensible

Campos internos solo de administrador


Patrones complejos (UI del panel o backend)

Algunos patrones aún pueden requerir la UI del panel o funciones de backend.

Relaciones bidireccionales (por ejemplo, amistades, coincidencias)

Requisito: Cualquiera de las partes en una relación debe tener acceso. Ahora posible con $or:
Soluciones alternativas:
  1. Rediseño de entidad: Almacena dos registros por relación (uno para cada parte)
  2. Función de backend: Consulta con lógica personalizada

Lógica de negocio compleja

Requisito: El acceso depende de múltiples campos de entidad con condiciones complejas. Limitación del esquema JSON: Aunque los operadores ayudan, la lógica de negocio muy compleja aún puede ser difícil de expresar. Opciones de solución:
  1. Función de backend: Implementa lógica de acceso personalizada
  2. Combina reglas más simples: Divide reglas complejas en reglas más simples a nivel de entidad y a nivel de campo

Mejores prácticas

Estrategia de seguridad

Usa una combinación de RLS a nivel de entidad y seguridad a nivel de campo:

Cuándo usar cada enfoque

Patrones de roles comunes

Resumen de operadores admitidos

Resumen de limitaciones

Esta página fue traducida usando IA. Para obtener la información más precisa y actualizada, consulta la versión en inglés.