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,$norpara combinar condiciones - Operadores de campo (para campos
data.*):$in,$nin,$ne,$all - user_condition: Solo igualdad (sin operadores)
Contenido
- Patrones simples (JSON Schema)
- Uso de operadores
- Ejemplos de seguridad a nivel de campo
- Patrones complejos (UI del panel o backend)
- Mejores prácticas
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
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:
Operadores de campo para campos data.*
Usa$in, $nin, $ne, $all para comparar campos de datos de entidad:
Acceso basado en etiquetas ($in):
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:- Rediseño de entidad: Almacena dos registros por relación (uno para cada parte)
- 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:- Función de backend: Implementa lógica de acceso personalizada
- 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.