Laravel 5.1 Sentinel :: getUser () возвращает ноль

Я использую Sentinel для аутентификации пользователей и в качестве промежуточного программного обеспечения.

Код промежуточного программного обеспечения:

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\UsersController@getAccount');
}

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

В чем дело?

1

Решение

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

1

Другие решения

Других решений пока нет …