라라벨 컨트롤러 미들웨어

미들웨어 (Middlware)는 다음과 같이 컨트롤러 라우트에 지정할 수 있습니다.

Route::get('profile', 'UserController@show')->middleware('auth');

 

하지만 보다 더 편리한 방법은 컨트롤러의 생성자에서 미들웨어를 설정하는 것입니다.

컨트롤러의 생성자에서 middleware 메소드를 사용해 손쉽게 단일 컨트롤러에서 사용할 미들웨어를 설정할 수 있습니다.

class UserController extends Controller
{
    /**
     * Instantiate a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');

        $this->middleware('log')->only('index');

        $this->middleware('auth')->except('index', 'show');
    }
}

 

$this->middleware(function ($request, $next) {
    // ...
    return $next($request);
});
  • share