大田区から発信するゆるゆる日記

主にITエンジニアに関する備忘録日記。たまに趣味も。何か不備があればコメント頂けると幸いです。Twitterアカウント https://twitter.com/ryuzan03

【Laravel】ミドルウェア

※下記の内容に不備がありましたら、コメント頂けると幸いです。また、下記の内容をご使用頂ける場合は自己責任でお願いします。

【目次】

 

背景

Laravelで初めて知った「ミドルウェア」について記事にします。

 

ミドルウェア

ミドルウェアとは?

アプリケーションに送信されたHTTPリクエストをフィルタリングする機能のこと。
色々な機能を提供しています。

 

作成方法

php artisan make:middleware CheckAge

 

設置場所

app/Http/Middlewareディレクトリ以下に全て設置されている。

 

定義例

ageに200歳以上が指定された場合のみ、アクセスを許可する。
そうでなければ、ユーザーをhomeのURIへリダイレクトする。

<?php

namespace App\Http\Middleware;

use Closure;

class CheckAge
{
/**
* 送信されてきたリクエスト処理
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->age<= 200) {
return redirect('home');
}

return $next($request);
}
}

 

具体例

◆アプリケーションのユーザーが認証されているかを確認する

⇨ユーザーが認証されていなければ、このミドルウェアはユーザーをログインページへリダイレクトします。反対にそのユーザーが認証済みであれば、そのリクエストがアプリケーションのその先へ進むことを許可します。

 

◆CORSミドルウェア

⇨アプリケーションから返されるレスポンス全部に正しいヘッダを追加することに責任を持つ

 

◆ログミドルウェア

⇨アプリケーションにやってきたリクエスト全部をログすることに責任を負う

 

CSRF保護

 

参考

素晴らしい記事に感謝いたします。

ミドルウェア 5.5 Laravel