Meus sites


Sites relevantes


Contato

Email: devanon.kyosha@gmail.com

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.

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.

Fabrício Dias de Oliveira

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. 

Fabrício Dias de Oliveira

Procurar artigos