Laravel6からはベーシック認証の機能が用意されています。
ただ、このやり方は、データベースを使ったやり方になります。
ベーシック認証用のレコードを作成しないといけなかったりで意外と面倒だったりします。
今回はデータベースを使ったりせず、もっと簡易的にBasic認証を作るやリ方を紹介します。
ゴール
以前、チュートリアルで作成したCRUDアプリにベーシック認証をかけてみます。
手順
INDEX
1)ミドルウェアの作成
アーティサンコマンドでミドルウェアのスケルトン(骨子)を作成します。
上記のコマンドを打つと App/Http/Middleware/ に BasicAuthMiddleware.php というファイル名でミドルウェアのスケルトンが生成されます。
ミドルウェアの handle メソッドを以下のように実装していきます。
(※ ID と PASS は「laraweb」で設定しました。)
2)ミドルウェアを Kernel に登録
app/Http/Kernel.php の $routeMiddleware に、作成したミドルウェアを登録します。
3)ファイルに認証をかける
登録した名前のミドルウェアで、対象のページをグループ化します。
prefixとミドルウェアの両方を指定したい場合は、grout() 内に配列で指定してやります。
(※入れ子のやり方でもいけます。)
詳細は以下をご参照ください。
4)動作確認
ブラウザにアクセスして以下のようにベーシック認証がかかればOKです。
以上です。

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。