5.2 -> 5.3에서 업그레이드했으며 Auth::user()
은 null
을 반환합니다. 생성자 showMain
가 Auth::check()
수익을 전화로 Auth::check()
반환 null
Laravel 5.2 -> 5.3 null을 반환하는 Auth :: user()
public $user;
public function __construct() {
$this->user = Auth::user();
}
public function showMain() {
return $this->user;
}
컨트롤러 전화와
경로
Route::group(['middleware' => ['auth']], function() {
Route::get('/test', '[email protected]');
}
컨트롤러 (예상대로) User
.
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
에 의해 호출되고,뿐만 아니라이되지 않습니다 내 구체적인 문제를 해결, 나는 또한 좋은 해결책이라고 생각하지 않습니다.
누군가이 설명을 왜 나에게 설명 할 수 있습니까?
당신이 세션 또는 인증 된 사용자에 액세스 할 수 없습니다 당신의 컨트롤러의 생성자 (미들웨어가 아직 실행되지 않았기 때문에) [docs] (https://laravel.com/docs/5.3/upgrade#5.3-session-in-constructors) –