Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Acessar sessão dentro de uma Middleware

Como eu posso acessar a sessão dentro da Middleware eu estou tentando acessar atraves do metodo session(), mas não está me retornando nada mesmo tendo salvo dados nela, Quando eu acesso a sessão uma rota antes de entrar na middleware ela me retorna os dados, mas quando acesso dentro da middleware não me retorna nada. Tem um método especial pra fazer isso ?

observação: eu não estou utilizando a class Auth do laravel eu criei minha propria classe de autenticação, por isso não tem como usar Auth::guest();

2 respostas

Tentou usando $request->session()->get('parametro')?

<?php
namespace App\Http\Middleware;
use Closure;

class MeuMiddleware {
   public function handle($request, Closure $next) {
      dd($request->session());
      return $next($request);
   }
}
solução!

Na verdade eu já tinha tentado dessa forma, mas também não funcionou.

Para resolver tive que copiar esta linha de código

 \Illuminate\Session\Middleware\StartSession::class,

dentro dentro do array

 protected $middleware = [
 \Illuminate\Session\Middleware\StartSession::class,       \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
 \App\Http\Middleware\AutorizacaoMiddleware::class,
    ];

Após fazer isso o problema foi solucionado e a sessão pode ser consultada normalmente.