Exemplos RLS
Padrões práticos de Segurança em Nível de Linha para tipos comuns de aplicativos. Importante: O RLS da Base44 suporta:- Operadores lógicos:
$or,$and,$norpara combinar condições - Operadores de campo (para campos
data.*):$in,$nin,$ne,$all - user_condition: Apenas igualdade (sem operadores)
Conteúdo
- Padrões simples (JSON Schema)
- Usando operadores
- Exemplos de segurança em nível de campo
- Padrões complexos (UI do Dashboard ou Backend)
- Melhores práticas
Padrões simples (JSON Schema)
Estes padrões funcionam com o formato RLS de JSON schema.Aplicativo de tarefas - Acesso apenas do proprietário
Os usuários veem e gerenciam apenas suas próprias tarefas.Formulário de contato - Criação pública, leitura apenas de administrador
Qualquer um pode enviar, apenas administradores podem visualizar submissões.Perfil de usuário - Autogerenciamento
Os usuários só podem acessar seu próprio perfil.Dados de departamento - Acesso do mesmo departamento
Os usuários só podem ver registros do seu departamento.Assinatura - Gerenciada por admin, legível pelo usuário via campo de e-mail
Dados privados - Apenas proprietário
Leitura pública, escrita autenticada
Qualquer um pode ler, apenas usuários logados podem criar/editar seus próprios registros.Usando operadores
Operadores lógicos
Combine várias condições usando$or, $and ou $nor:
Acesso de proprietário OU administrador:
Operadores de campo para campos data.*
Use$in, $nin, $ne, $all para comparar campos de dados de entidade:
Acesso baseado em tags ($in):
Combinando operadores lógicos e de campo
Exemplos de segurança em nível de campo
Controle o acesso a campos específicos dentro de uma entidade.Campo de salário sensível
Campos internos apenas para admin
Padrões complexos (UI do Dashboard ou Backend)
Alguns padrões ainda podem exigir a UI do painel ou funções de backend.Relacionamentos bidirecionais (por exemplo, amizades, correspondências)
Requisito: Qualquer uma das partes em um relacionamento deve ter acesso. Agora possível com $or:- Redesign de entidade: Armazenar dois registros por relacionamento (um para cada parte)
- Função de backend: Consultar com lógica personalizada
Lógica de negócios complexa
Requisito: O acesso depende de vários campos de entidade com condições complexas. Limitação do JSON Schema: Embora os operadores ajudem, lógica de negócios muito complexa pode ainda ser difícil de expressar. Opções de solução:- Função de backend: Implementar lógica de acesso personalizada
- Combinar regras mais simples: Dividir regras complexas em regras mais simples de nível de entidade e nível de campo
Melhores práticas
Estratégia de segurança
Use uma combinação de RLS em nível de entidade e segurança em nível de campo:Quando usar cada abordagem
Padrões comuns de função
Resumo dos operadores suportados
Resumo de limitações
Esta página foi traduzida usando IA. Para informações mais precisas e atualizadas, consulte a versão em inglês.