2017-08-31 21 views
0

認証ミドルウェアでnullであり、私は私が何をすべきかを知らない Laravelの認証::ガード(「ウェブ」) - >ユーザーは、()私は認証ミドルウェアグループ内myRoute</em><em>を入れ

// myController 
Auth::guard('web')->user() // null 

を取得します。私は以下のコントローラとルートを持っています。

親コントローラのコンストラクタのようですが、ミドルウェアは動作していません。

// Controller.php 
public function __construct() { 
    $this->middleware(function ($request, $next) { 
     $this->currentUser = Auth::guard('web')->user(); 

     return $next($request); 
    }); 
} 

// myController extends Controller 
public function __construct(Request $request) { 
    parent::__construct(); 
    $this->request = $request; 
    var_dump($this->currentUser); // null 
    var_dump(Auth::guard('web')->user); // null 
    // $userId = Auth::guard('web')->user()->id; 
    // $userId = $this->currentUser->id; 
    $this->userId = $userId; 
} 

// route/web.php 
Route::middleware(['auth'])->group(function() { 
    Route::get('myRoute', '[email protected]'); 
} 
+1

ガード( 'web')を指定する必要はありません。デフォルトでは、laravelはウェブガードを想定しているためです。 –

答えて

2

コンストラクタでAuth :: user()を取得できません。 try Auth :: guard( 'web') - > user();別の方法で。結果はもはやnullではありません

関連する問題