2016-07-15 3 views
1

Я использую Sentinel для аутентификации пользователей и в качестве промежуточного ПО auth.Laravel 5.1 Sentinel :: getUser() return null

Middleware код: Код

public function handle($request, Closure $next) 
{ 
    var_dump(Sentinel::guest()); // prints false 
    if (Sentinel::guest()) { 
     if ($request->ajax()) { 
      return response('Unauthorized.', 401); 
     } else { 
      return redirect()->guest('/login'); 
     } 
    } 

    return $next($request); 
} 

Контроллер:

public function getAccount() { 
    var_dump(Sentinel::guest()); // prints true 
    return Sentinel::getUser(); 
} 

routes.php

Route::group(['middleware' => ['auth']], function() { 
    Route::get('api/v1/temp/users/account', 'App\Http\Controllers\[email protected]'); 
} 

Тогда, если я просматриваю к api/v1/temp/users/account в var_dump() в Middleware печатает ложь , в то время как var_dump() внутри контроллера печатает true, что кажется бессмыслицей.

Что случилось?

ответ

1

Оказалось, что я использовал нативный фасад вместо фасада Laravel Cartalyst\Sentinel\Laravel\Facades\Sentinel. Это исправлено.

Смежные вопросы