# Login de alunos e autenticação com DEFINE ACCESS

> **Resposta Direta:** A Aula 17 de 20 ("Login de alunos e autenticação com DEFINE ACCESS"), parte do módulo "Segurança" do curso gratuito "SurrealDB do zero: fundamentos com um CRM" na Escola de Aplicativos (ministrado por Mauro Mequelussi), ensina na prática: Veja como criar usuários de registro com DEFINE ACCESS no SurrealDB, configurando SIGNUP, SIGNIN e validação com AUTHENTICATE. Descubra como aplicar permissões granulares estilo RLS, gerenciar expiração de tokens e evitar injeção de código usando parâmetros.

## Ficha Técnica da Aula

- **Curso:** [SurrealDB do zero: fundamentos com um CRM](https://www.escoladeaplicativos.com.br/cursos/surrealdb-do-zero)
- **Escola:** Escola de Aplicativos (https://www.escoladeaplicativos.com.br)
- **Instrutor:** Mauro Mequelussi
- **Módulo 5 de 6:** Segurança
- **Posição na trilha:** Aula 17 de 20
- **Duração da videoaula:** 7 min
- **Nível:** Iniciante
- **Idioma:** Português (PT-BR)
- **Custo:** 100% Gratuito (R$ 0)
- **Certificado:** Certificado gratuito verificável incluso ao concluir o curso
- **Acesso ao vídeo:** Resumo técnico aberto; videoaula em HD liberada mediante cadastro gratuito
- **URL canônica:** https://www.escoladeaplicativos.com.br/cursos/surrealdb-do-zero/login-de-alunos-e-autenticacao-com-define-access

## O que você vai aprender

- Como criar usuários de registro com a instrução DEFINE ACCESS
- O funcionamento das cláusulas SIGNUP, SIGNIN e AUTHENTICATE
- Como aplicar permissões de tabela para que cada usuário veja apenas seus próprios dados
- Como configurar a duração de tokens e sessões para mitigar riscos de segurança
- Como prevenir injeção de consultas usando parâmetros em vez de concatenar texto

## Pontos-chave da Aula

- Usuários de registro não utilizam papéis do sistema e começam sem nenhuma permissão por padrão.
- O hash de senhas deve ser gerado com algoritmos seguros nativos, como Argon2.
- As permissões no banco eliminam a necessidade de filtros manuais repetidos nas consultas da aplicação.
- Tokens de acesso do tipo RECORD exigem uma data de expiração obrigatória.
- Valores inseridos por usuários sempre devem ser passados como parâmetros na consulta.

## Capítulos e Tópicos da Videoaula

- **[00:00] Usuários de registro e o conceito de DEFINE ACCESS** — Entenda a diferença entre usuários do sistema e usuários de registro para criar sistemas de login direto no banco. Conheça as cláusulas SIGNUP, SIGNIN e AUTHENTICATE.
- **[01:29] Estrutura da tabela e permissões por usuário** — Como modelar a tabela de membros com hash de senha e regras de acesso equivalentes a políticas de RLS.
- **[03:02] Testes práticos de cadastro, login e isolamento** — Validando cadastro, login com senha incorreta e a visualização restrita de dados pela API.
- **[03:56] Duração de sessões, expiração de tokens e injeção SQL** — Ajuste do tempo de vida de sessões e tokens para proteger acessos e o uso de parâmetros para evitar injeção de SQL.
- **[06:18] Boas práticas de autenticação e próximos passos** — Resumo das recomendações essenciais de segurança para usuários de registro e introdução às capabilities.

## Destaques Práticos

- **[03:02] Isolamento automático de dados na prática**: Veja como a aluna enxerga apenas a própria compra sem precisar adicionar filtros manuais na consulta.
- **[04:24] Como definir validade para tokens e sessões**: Entenda por que tokens de usuários de registro nunca devem ficar sem expiração no SurrealDB.
- **[05:26] Evitando injeção de SQL com parâmetros**: Descubra como um comando malicioso pode apagar sua tabela inteira se você concatenar dados em vez de usar parâmetros.

## Conceitos e Tecnologias Abordados

- **Tópicos:** DEFINE ACCESS, Usuários de registro, Permissões e RLS, Expiração de tokens, Prevenção contra SQL Injection
- **Ferramentas e Entidades:** SurrealDB, Argon2, JavaScript SDK

## Documentação e Referências Oficiais

- [Documentação oficial do comando DEFINE ACCESS](https://surrealdb.com/docs/surrealql/statements/define/access)
- [Documentação sobre DEFINE TABLE e cláusula PERMISSIONS](https://surrealdb.com/docs/surrealql/statements/define/table)
- [Guia de uso de parâmetros para consultas seguras](https://surrealdb.com/docs/surrealql/parameters)

## Perguntas Frequentes (FAQ)

### O que é ensinado na Aula 17 (Login de alunos e autenticação com DEFINE ACCESS) do curso SurrealDB do zero: fundamentos com um CRM?

Nesta aula do módulo "Segurança" na Escola de Aplicativos, você aprende de forma prática: Como criar usuários de registro com a instrução DEFINE ACCESS; O funcionamento das cláusulas SIGNUP, SIGNIN e AUTHENTICATE; Como aplicar permissões de tabela para que cada usuário veja apenas seus próprios dados; Como configurar a duração de tokens e sessões para mitigar riscos de segurança.

### Como assistir ao vídeo completo da aula "Login de alunos e autenticação com DEFINE ACCESS" gratuitamente?

O resumo técnico estruturado desta aula é público e gratuito. Para assistir à videoaula completa em HD, basta entrar ou criar sua conta 100% gratuita na Escola de Aplicativos — o cadastro leva segundos e libera todas as 20 aulas do curso "SurrealDB do zero: fundamentos com um CRM", controle de progresso, Tutor IA e emissão de certificado gratuito.

### Quais tecnologias e conceitos são abordados em "Login de alunos e autenticação com DEFINE ACCESS"?

A aula cobre diretamente os seguintes tópicos técnicos aplicados em produção: DEFINE ACCESS, Usuários de registro, Permissões e RLS, Expiração de tokens, Prevenção contra SQL Injection.

### O curso "SurrealDB do zero: fundamentos com um CRM" oferece certificado gratuito?

Sim. Ao assistir às 20 aulas do curso gratuito "SurrealDB do zero: fundamentos com um CRM" na Área de Membros da Escola de Aplicativos, você emite gratuitamente um certificado digital em português com código de verificação pública.

## Como assistir à videoaula completa gratuitamente

Crie sua conta gratuita em segundos em https://www.escoladeaplicativos.com.br/login?redirect=%2Fm%2Fcursos%2Fsurrealdb-do-zero%2Faula%2Flogin-de-alunos-e-autenticacao-com-define-access para assistir ao vídeo completo desta aula em HD na Área de Membros da Escola de Aplicativos, com progresso salvo, Tutor IA e certificado gratuito verificável.

## Navegação do Curso

- **Aula anterior:** [Aula 16: Usuários e permissões para sua equipe no SurrealDB](https://www.escoladeaplicativos.com.br/cursos/surrealdb-do-zero/usuarios-e-permissoes-para-sua-equipe-no-surrealdb)
- **Próxima aula:** [Aula 18: Capabilities: controle o que o próprio banco pode fazer](https://www.escoladeaplicativos.com.br/cursos/surrealdb-do-zero/capabilities-controle-o-que-o-proprio-banco-pode-fazer)
