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

Laravel 入門講座
スポンサーリンク

Laravel超入門講座、今回はミドルウェアについて解説していきます。

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

でも言葉で説明しようとすると複雑になりがちで、私自身も最初、なんだかよくわかりませんでした。

以前の私のように「ググって説明読んだけど、分からなかった」という方のために、マンガで解説してみたので、ご覧ください。

なおミドルウェアの実際の作り方を知りたい場合は、こちらの記事をどうぞ。

スポンサーリンク

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

ミドルウェアとは

というわけで、なんとなく、ミドルウェアのイメージをつかんでいただけたでしょうか?

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

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

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

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

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

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

Laravelでは、【認証】という最もよく使うミドルウェアが手軽に利用できるようになっています。

認証は、会員情報を登録したり、ログインしたりする機能のことですね。

まずは認証機能の設定方法を解説します。

①インストールを行う

まずui(ユーザインターフェス)機能を組み込みます。

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

次に、このui 機能を使って、認証機能のひな形ファイルを作成してもらいます。

下記のコマンドを実行します。

auth とは、認証の意味です。

なお、上記はbootstrapを使って設定するコマンドですが、もしも vueやreactを使いたい場合には、次のようにします。

【vue】

【react】

②Webページを見てみる

これで認証機能が追加されました。

実際に、Webのページも見てみましょう。

Laravelのページを表示させます。

URLに【/home】をつけて /home ページにアクセスしようとすると、ログインページに飛ばされるはずです。

つまり、/homeにアクセスする前に認証を行わなければならないようになっています。

実際に会員情報登録してからログインをすると、/homeページが表示されます。

登録したデータは、laravelに紐づいたデータベースに保存されます。

③ファイルを確認する

認証機能は、実際のファイルではどのように書かれているか見てみましょう。

laravelをインストールしたフォルダの ルートファイル(web.php)を見てみると、次のようにあります。

これは、/home ページにアクセスするときに HomeController の index メソッドが処理を実行するということ。

HomeControllerには、下記のコードがあります。

/home を表示したければ認証を受ける必要がある、ということですね。

このように、ログインした状態でなければ、/home にアクセスできないようになっています。

さいごに

今回のまとめ

  • middlewareによって、認証などの処理が行える
  • Laravelでは、認証用のmiddlewareを手軽に追加できる

Laravelに準備されている認証機能以外でも、自分が好きなミドルウェアを設定できます。

実際に自分でミドルウェアを作成する方法については、こちらの記事を参考にしてください。

なお、もしLaravelの【MVCモデル】について、「イマイチ分からない」という場合には、こちらもマンガで解説しているので読んでみてくださいね。

コメント

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