5 php laravel laravel-5.1 laravel-5.2
我只是将作曲家更新为Laravel 5.2并且无法查看受密码保护的页面.基本上下面的代码行不起作用.
auth()->user()
Run Code Online (Sandbox Code Playgroud)
有人可以建议为什么这不起作用?
lag*_*box 18
确保需要会话(Auth使用的)的所有路由都在"web"中间件组后面.
Route::group(['middleware' => 'web'], function () {
// your routes
});
Run Code Online (Sandbox Code Playgroud)
这是对5.2的新变化.默认情况下,路由没有应用此中间件堆栈.Web中间件组设置会话存储,cookie和csrf保护.
在Laravel 5.2升级中,使用Auth的路由必须位于Web中间件组中.
我在app/Http/Kernel.php中解决了这个问题,将Web中间件组移动到全局中间件.
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class
];
Run Code Online (Sandbox Code Playgroud)
愿它会帮助别人。但不要忘记看看guard
你正在使用什么。例如,对于管理员,您可能不会默认守卫,而是创建自己的守卫。不要忘记它。打电话\Auth::guard($guard)->user()
归档时间: |
|
查看次数: |
9346 次 |
最近记录: |