미들웨어는 무엇인가?
클라이언트의 request 가 서버에 요청하기 전에 request 를 검증하는 중간 필터라고 생각하면 된다.
즉 서버를 통과하기 위한 필터 또는 클라이언트와 서버 사이에 존재하는 레이어라고 개념을 잡으면 된다.
사용자의 Request 가 Controller 또는 View 페이지에 도달하기 위해서는 중간 검증단계인 middleware 를 항상 통과해야만 한다. 이런 middleware 를 컨트롤 하는 곳이 /app/Http/Kernel.php 이다.
Kernel.php 에는 모든 Request 가 통과해야만 하는 미들웨어를 정의하고 이런 미들웨어를 여러개 묶어서 하나의 키워드로 정의할 수 있고 별칭으로 손쉽게 사용할 수 있는 방법을 제공한다.
$middleware
$middlewareGroups
$middlewareAliases
$middleware 에 정의된 middleware는 사용자의 Request 가 무조건 통과해야만 한다. 하지만, 사용자의 요청에 원하는 middleware 만을 통과시키고 싶을때는 어떻게할까?
1. RouteServiceProvider.php 에서 지정
2. Route 에서 별도로 지정하는 방법
Route에서 적용
Route::get()->middleware();
미들웨어는 handle() 이란 메서드를 갖고 있다.
public function handle(Request $request, Closure $next, ...$quards) {
}
반응형
'Laravel' 카테고리의 다른 글
| Laravel - 다국어설정, 지역화에 대해서 (0) | 2023.12.24 |
|---|---|
| Laravel - 로컬개발 환경설정 (Homestead with VirtualBox) (0) | 2023.12.22 |
| Laravel - Eloquent Relationship (One to Many 일대다) (0) | 2023.12.06 |
| Laravel - CRUD 기본 코드 (0) | 2023.12.01 |
| Laravel - Request 객체 다루기 (0) | 2023.11.21 |