Meus sites
Sites relevantes
Contato
Email: devanon.kyosha@gmail.com
Meus sites
Sites relevantes
Contato
Try scrolling the rest of the page to see this option in action.
Sejam bem vindos
Fabrício Web Home Page
Desenvolvimento PHP Laravel, Manutenção em sites PHP, Arquitetura de serviços Web, Geração de endpoints REST API e Tutoriais.
Fabrício Web Home Page
Desenvolvimento PHP Laravel, Manutenção em sites PHP, Arquitetura de serviços Web, Geração de endpoints REST API e Tutoriais.
Sejam bem vindos à página Fabrício Web. Eu sou o Fabrício Dias.
Passarei aqui uma parte significativa de minha experiência. Acompanhe minhas publicações. Vou publicar amenidades nerds também. O site está em desenvolvimento, e vou colocar melhorias ainda. E com certeza vou adicionar interação com o leitor em breve.
Laravel - Separando usuários e permissões em uma aplicação Laravel
Em uma aplicação web, algumas vezes é necessário separar papéis para pessoas diferentes. Em uma loja por exemplo, haverá o administrador, o operador, o financeiro, a gerência, o comprador, etc... para isso criaremos um middleware para cada um dos papéis. Acompanhe aqui a criação do middleware para um administrador - mas a regra pode ser usada para N papéis.
Na raiz do projeto, execute:
php artisan make:middleware IsAdmin |
1 - Adicione no final do arquivo app/http/kernel.php a linha
'admin' => \App\Http\Middleware\IsAdmin::class, |
2 - Edite o arquivo isAdmin.php
<?php
namespace App\Http\Middleware;
use Closure; use Auth;
class IsAdmin { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (Auth::user() && Auth::user()->tipo == 'admin') { return $next($request); }
return redirect('noaccess'); } } |
3 - Aplique a rota do administrador às outras rotas
Route::group(['middleware' => 'App\Http\Middleware\IsAdmin'], function() { //Demais rotas aqui }); |
4 - Adicione a coluna 'tipo' em sua tabela users no banco de dados. Os administradores terão esse campo com valor 'admin'.
Assim, seu middleware "administrador" está pronto. Lembre-se, da mesma maneira podemos implementar outros papéis, basta atribuir somente as rotas que um middleware irá acessar no grupo de rotas.