Este documento descreve o sistema de login e autenticação em uma aplicatição Laravel. O sistema permite que os usuários façam login, acessem recursos específicos com base em funções (roles).
- Introdução
- Requisitos
- Instalação
- Configuração
- Registro de Usuários
- Login
- Controle de Acesso
- Roles e Recursos
- Personalização
- Referências
O sistema de login e autenticação no Laravel permite que os usuários acessem o aplicativo com segurança. Além disso, o controle de acesso com base em funções (roles) permite que os usuários acessem apenas recursos específicos de acordo com suas permissões. Tudo baseado nas rotas estabelicidas dentro do meddlware acl.
Cada role pode ter muitos recursos, esses recursos sao gerados pelas rotas protegidas por middleware. Ou podem ser cadastradas e assim usadas como verificação se acesso. O sistema permite 2 tipos de recursos:
route - Proveniente das rotas protegidas
control - Inseridas da na tebela para controle
Cada usuário pode ter muitas roles. Quando é acessado determinada rota, e ela está protefida pelo middleware admin.acl o midlleware verifica se o usuário logado pode acessar esse recurso.
Os recursos sao gerados automaticamente atravéz do comando(ResourceCommand) que pode ser invodado pela assinatura:
admin:resources {roleAttach?}, o parametro roleAttach é o identificador da role que voce gostaria de enexar
todos os rescursos, facilinatdo assim roles do tipo admin.
Foi adicionado uma coluna em usuários is_root, essa coluna ignora as regras pemitindo que esse usuário acesse todas as areas sem restriçao. Essa coluna é tipo unique, foi tratado hoje apenas se essa coluna contem o valor 1. Assim atualmente nao é possivel ter mais de ums usuário root no sistema. Essa verificao utiliza a constante no model usuário IS_ROOT
- Ambiente de desenvolvimento local ou servidor de hospedagem
- Composer instalado
- Node.js e NPM instalados
Para instalar o aplicativo, siga os seguintes passos:
-
Clone o repositório do aplicativo.
git clone https://seurepositorio.git
-
Navegue até a pasta do projeto.
cd nomedopasta -
Instale as dependências do Composer.
composer install
-
Crie um arquivo
.enva partir do arquivo.env.examplee configure as variáveis de ambiente, incluindo a conexão com o banco de dados e a chave de criptografia do aplicativo.cp .env.example .env
-
Gere uma nova chave de aplicativo.
php artisan key:generate
-
Execute as migrações para criar as tabelas do banco de dados.
php artisan migrate
-
Inicie o servidor de desenvolvimento.
php artisan serve
-
Acesse o aplicativo em http://localhost:8000.
O aplicativo Laravel é configurado para fornecer autenticação segura. Além disso, o sistema de controle de acesso é baseado em funções (roles) e recursos. As configurações podem ser personalizadas no arquivo config/auth.php e em outros lugares conforme necessário.
Os usuários podem se registrar no aplicativo seguindo estas etapas:
-
Acesse a página de registro em http://localhost:8000/register.
-
Preencha o formulário de registro com as informações necessárias.
-
Clique em "Registrar" para criar uma conta de usuário.
Os usuários podem fazer login no aplicativo seguindo estas etapas:
-
Acesse a página de login em http://localhost:8000/login.
-
Insira seu nome de usuário e senha.
-
Clique em "Login" para acessar sua conta.
O controle de acesso do aplicativo é baseado em funções (roles) e recursos. Cada recurso está relacionado a uma ou mais funções, e as funções estão relacionadas aos usuários. Isso garante que apenas os usuários com as permissões corretas possam acessar recursos específicos.
As funções (roles) e os recursos são gerenciados no aplicativo para controlar o acesso. Você pode adicionar, editar ou excluir funções e recursos conforme necessário.
Você pode personalizar o sistema de autenticação, páginas de login e registro, bem como as mensagens de erro, de acordo com as necessidades específicas do seu aplicativo.
- Documentação oficial do Laravel
- GitHub do Laravel
- Documentação do Middleware no Laravel
- Documentação do Controle de Acesso no Laravel
Esta é uma estrutura básica de documentação que você pode usar como ponto de partida. Lembre-se de personalizar e expandir a documentação de acordo com as especificidades do seu aplicativo e as necessidades da sua equipe. Certifique-se de incluir exemplos, capturas de tela e informações adicionais relevantes para facilitar o entendimento dos usuários e desenvolvedores que trabalharão com o sistema.