Quiz 09 - Autenticação e Autorização 🔐
Avalie seu conhecimento sobre o ecossistema de segurança e permissões do Laravel.
1. Qual a diferença fundamental entre Autenticação e Autorização?
Autenticação é o que você pode fazer, Autorização é quem você é
Autenticação verifica quem você é, Autorização verifica o que você pode fazer
São exatamente a mesma coisa no Laravel
Autenticação é para o banco, Autorização é para a web
2. Qual o starter kit mais simples e recomendado para adicionar login e registro em um projeto Laravel novo?
Laravel Jetstream
Laravel Breeze
Laravel Fortify
Laravel Socialite
3. Onde você deve proteger uma rota para que apenas usuários logados acessem?
No arquivo .env
Pelo middleware `auth` na definição da rota no arquivo web.php
Colocando um cadeado na pasta do projeto
Usando CSS `display: none` no menu
4. Para que servem as `Policies` no Laravel?
Para configurar a cor do cabeçalho do site
Para organizar a lógica de autorização em torno de um modelo específico
Para criar novas tabelas no banco de dados
Para traduzir as mensagens de erro
5. No Blade, qual diretiva usamos para mostrar um botão apenas se o usuário tiver permissão baseada em uma Policy?
`@if(auth)`
`@can('nome-da-permissao', $objeto)`
`@allow('admin')`
`@show`
6. O que é um `Gate` no Laravel?
Uma forma mais simples (baseada em closures) de verificar autorizações
O gerenciador de pacotes do PHP
O sistema que conecta o PHP ao MySQL
O portal onde o professor posta as notas
7. Qual a função do comando `php artisan make:policy PostPolicy --model=Post`?
Cria um novo post no banco de dados
Gera uma classe de política de acesso vinculada ao modelo Post
Exclui todos os posts que não possuem dono
Envia os posts para o servidor de produção
8. Como você recupera o usuário que está logado atualmente em um Controller?
`$_SESSION['user']`
`auth()->user()` ou `Auth::user()`
`$this->user`
`User::all()`
9. Qual diretiva Blade é usada para exibir conteúdo apenas para quem **NÃO** está logado?
`@auth`
`@guest`
`@notlogged`
`@if(visitante)`
10. Qual a importância de criptografar as senhas no banco de dados?
Para que o banco de dados ocupe menos espaço no HD
Garantir que ninguém, nem mesmo o administrador do banco, conheça a senha real do usuário
Para o processador do servidor não esquentar muito
Apenas para seguir o padrão do Windows 11