【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保護
参考
素晴らしい記事に感謝いたします。