Я пытаюсь проверить в промежуточном программном обеспечении, аутентифицирован ли пользователь, вызвав Auth::user()
, но он возвращает ноль.Я называю это промежуточное ПО последним в списке protected $middleware
раздела в Kernel.php
.Есть ли способ проверить из промежуточного ПО, аутентифицирован ли пользователь или как я должен сделать это по-другому?
Добавление: Я использую Zizaco Entrust.Может быть, поэтому он не работает И я использую Laravel 5.5
мое приложение / HTTP / Kernel.php:
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
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,
\App\Http\Middleware\FirstLoginPasswordChange::class,
];
мое промежуточное ПО FirstLoginPasswordChange:
use Illuminate\Support\Facades\Auth;
use Zizaco\Entrust\Entrust;
public function handle($request, Closure $next)
{
dd(Auth::user()); // returns null
// or
dd(Auth::check()); // returns false
// or
dd(\Entrust::user()); // returns null
return $next($request);
}
}