私は5.2 - > 5.3からアップグレードしました。Auth::user()
はnull
です。Laravel 5.2 - > 5.3 nullを返すAuth :: user()
ルート
Route::group(['middleware' => ['auth']], function() {
Route::get('/test', '[email protected]');
}
コントローラコンストラクタと(予想通り)Auth::check()
戻りUser
を呼び出すshowMain
とコントローラnull
public $user;
public function __construct() {
$this->user = Auth::user();
}
public function showMain() {
return $this->user;
}
Auth::check()
リターンを呼び出します。
public function __construct() {
// Nothing
}
public function showMain() {
return Auth::user();
}
また、5.3と5.2 - 5.3のクリーンインストールの違いを見てきました。 5.3には、アップグレードされたバージョンにない2つの余分なクラスがあります。
- Authenticate.php
- Authorize.php
そして、これらのクラスは、私はまただけでなく、\Auth::user() is null in 5.3.6?に見てきたこれはないprotected $routeMiddelware
でKernel.php
で呼ばれています私の特定の問題を解決する、私はまたそれが良い解決策だとは思わない。
誰かが私にこの問題を抱えている理由を説明することはできますか?
あなたのセッションまたは認証されたユーザーにアクセスすることはできませんミドルウェアがまだ実行されていないためにコントローラのコンストラクタを使用しています(https://laravel.com/docs/5.3/upgrade#5.3-session-in-constructors) –