Skip to content

Session @Laravel5.2, @Laravel.5.2.27 #10

@appkr

Description

@appkr

최근에 이 강좌를 따라하시는 분이라면, $ laravel new myProject 명령으로 새로운 프로젝트를 생성했을 때 5.2 버전이 설치될 것입니다.

이 때 5.2 버전 부터 도입된 $middlewareGroups 때문에 세션이 유지되지 않는 (== 로그인이 되지 않는) 문제가 있을 겁니다.

해결하는 방법은

  1. 라우팅 정의를 Route::group(['middleware' => ['web']], function () { /* 라우팅 정의는 여기에.. */ }); 로 싸주거나,
// app/Http/route.php

Route::group(['middleware' => ['web']], function () {
  // Routing definition here...
});
  1. $middlewareGroups 속성을 쓰지 않는 방법입니다.
// app/Http/Kernel.php

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,
];

// protected $middlewareGroups = [
//     'web' => [
//         \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,
//     ],
// 
//     'api' => [
//         'throttle:60,1',
//     ],
// ];

이 강좌가 5.1 기준으로 쓰여졌으므로, 우선 2 의 방법을 사용하실 것을 권장합니다.

Happy coding~

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions