Blog EspecializaTi
Carlos Ferreira Por: Carlos Ferreira Comentar

Middlewares Globais no Laravel

Middlewares Globais no Laravel

Salve salve galera do bem, aqui quem fala é o Carlos Ferreira para mais um tutorial. Dessa vez vamos aprender sobre como definir middlewares globais no Laravel.

 

Antes de começar, é importante entender o porque configurar Middlewares globais no Laravel. Como já sabemos Middlewares no Laravel servem para definir filtros, restringir e limitar certas ações do usuário dentro do sistema.

 

Definir um Middleware global dá a possibilidade de aplicar um filtro em todo o sistema.
Vamos a um exemplo muito simples, temos uma aplicação, e independente de qual página o usuário for acessar ele precisa estar logado, neste caso, podemos aplicar o Middleware auth globalmente, assim não precisa aplicar o Middleware em todas as rotas, seja através de grupo de rotas ou individualmente.

 
 

Vamos a prática:

Na classe Kernel (app/Http/Kernel.php) definimos as configurações de Middlewares do Laravel.

No atributo $middleware que é um array, podemos passar definir quais filtros serão aplicados automaticamente, em toda a aplicação.

A versão 5.6 do Laravel já aplica alguns filtros por default, como:

protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    \App\Http\Middleware\TrustProxies::class,
];

 

Para aplicar o Middleware “auth” por default (padrão) basta simplesmente acrescentar a classe Authenticate neste array:

\Illuminate\Auth\Middleware\Authenticate::class

 

Resultado final:

protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
    \App\Http\Middleware\TrustProxies::class,
    \Illuminate\Auth\Middleware\Authenticate::class,
];

 

Feito isso, pronto!

Agora por padrão já aplica o Middleware (filtro) “auth” em toda a aplicação, para o usuário conseguir acessar QUALQUER recurso no sistema precisa estar autenticado.

 

PS. Da mesma forma que aplicamos o Middleware auth, você pode aplicar QUALQUER outro Middleware que precisar.

 

Espero que tenha gostado, e qualquer dúvida, só deixar aquele comentário! 🙂

 

Abraços []’s

 

Carlos Ferreira

Sobre o Autor:

Carlos Ferreira

Carlos Ferreira é Analista de Sistemas Experiente, Empreendedor, Fundador da empresa EspecializaTi. Certificações: Comptia Linux +, LPI, Novell Certification.

Todos os direitos reservados © 2018 - EspecializaTi. É proibida a reprodução total ou parcial deste conteúdo.