Laravelのミドルウェアをマンガで解説【初心者のためのLaravel入門講座】

Laravelセキュリティ

ミドルウェアとは、条件を満たしていない訪問者がページにアクセスできなくしたりするシステム。

ただ、初めてミドルウェアを耳にする時には、これだけだとイマイチよく分からないですよね。

Junko
Junko

40代でプログラミングを始めた わたしも最初は、なんだかよくわかりませんでした。

そこで、「ミドルウェアについてググってみたけど、いまいち分からなかった」という方のために、マンガでミドルウェアを解説してみました。読んでみてください^^

Laravelのミドルウェアをマンガで解説

ミドルウェアとは

以上ですが、なんとなく、ミドルウェアのイメージをつかんでいただけたら嬉しいです^^

もう少しちゃんと解説しますと、ミドルウェアとは訪問者のリクエストに対して、ルーターとコントローラーの間にたって処理を行うメカニズムです。

通常であれば、ルーターが「このページにきたら、このコントローラーに処理をお願いしよう」と、処理を振り分けます。

ですがもしコントローラーが処理を実行する前に認証などの処理を行いたい場合は、ミドルウェアを使います。

ミドルウェアが入るLaraveolのフロー

こうすることで、特定のユーザーのみがページを見れるようにする、といったことが可能になるのです。

Laravelの認証用ミドルウェアの設定方法

Laravelではミドルウェアを使って、【認証ユーザーかどうか】という制限を、手軽に設定できます。

これによって、ユーザー登録&ログインしているユーザーのみがアクセス可能なように設定できます。

実際にどのように認証のミドルウェアをかけるのか、設定方法を解説します。

①Laravelプロジェクトの作成

まずは、Laravelのプロジェクトを新規作成します。

新規プロジェクト作成コマンドはこちら。

*【bbs】の部分は、お好きなプロジェクト名に変えてください。

 

次に、Breezeパッケージを使って認証機能を入れていきます。

プロジェクトをインストールしたディレクトリで、次のコマンドを入力します。

続いて、下記を実行します。

その後、npm installとnpm run devコマンドを実行します。

さらにマイグレートを実行して、データベースにusersテーブルを作成します。

これで認証機能搭載完了です。

Junko
Junko

上記はざっくりとしたインストール&認証機能搭載の解説でした。

ちょっと分かりにくいですよね。

詳しく知りたい場合は、下記の記事を参考にしてください。

②Webページを見てみる

それでは実際に、作成したプロジェクトを見てみましょう。

下記コマンドでサーバーを立ち上げ、Laravelのトップページを表示させます。

【Laravelトップページ】

右上にLoginとRegisterメニューが表示されています。

またプロジェクト内のroutes/web.phpファイルを開いてみてください。下記のようなルート設定が既に入っているはずです。

【web.php】

このルート設定は、ユーザー登録後にログインした時に表示されるページに関するものです。

ルート設定の中に middleware(['auth']) というのが入っています。これこそ、「認証済みユーザーしかアクセスできない」というミドルウェアになります。

本当にちゃんとミドルウェアが効いているのか、テストしてみましょう。

URLに【/dashboard】をつけて、上記のルート設定にアクセスしようとしてみてください。すると、リダイレクトされるはずです。

 

Junko
Junko

ミドルウェアがちゃんと効いているってことですね。

ユーザー登録・ログイン後は、ちゃんと /dashboardにアクセスできます。良かったら、テストしてみてください。

さいごに

今回はミドルウェアについて、ご紹介してきました。

今回のまとめ

  • ミドルウェアによって、認証などの処理が行える
  • Laravelでは、認証用のミドルウェアを手軽に追加できる

authミドルウェアを使えば、ルート設定に手軽に「認証済みユーザーしかアクセスできない」という制限をかけることができます。またミドルウェアは、自分で作成することもできます。

なお、

「ミドルウェアについて理解はできたけど、具体的にどうするか、イマイチわからない」

「プロジェクトを実際に作りながら、Laravelを実践的に学びたいな」

という方のために、【Laravelの教科書】という学習サイトをご用意しています。Laravelをいちから学びながら、会員制のフォーラムサイトを作成していく内容です。

ご興味があれば、下記ボタンをクリックしてご案内ページを見てみてくださいね。

Laravelの教科書について見てみる

Junko
Junko

基礎編部分は無料です。

Laravelセキュリティ Laravel入門 Laravel認証機能

【Laravelの教科書・無料プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

Laravel8版と、最新のLaravel9版、ふたつのテキストご用意してます♪

Laravel関連のご相談承ってます♪
「Webアプリを開発してほしい」
「社内にLaravelが分かる人がいない。コンサルしてほしい」
そんな企業様のご依頼承っています。
お問い合わせはこちら
Laravel関連のご相談承ってます♪
「Webアプリを開発してほしい」
「社内にLaravelが分かる人がいない。コンサルしてほしい」
そんな企業様のご依頼承っています。
お問い合わせはこちら
Twitter始めました。
40代からプログラミング!

コメント

タイトルとURLをコピーしました