1

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();
}

ルート.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() を参照すると false が出力されますが、コントローラー内の var_dump() は true を出力しますが、これはナンセンスに思えます。

どうしたの?

4

1 に答える 1