skillup

技術ブログ

PHP

Laravelでのmiddlewareの実行順番

投稿日:

Laravelでのmiddlewareをいじって認証直後の処理を作りたいときなど。

例えばログイン後、ユーザーidに応じた共通処理などをかませたいときです。

この場合、当然ログインの後に処理を実行しなくてはいけないので、authの直後に処理を行う必要があります。

まずはサンプルソースを。

app/Http/Middleware/OriginalAuth.php

route/web.php

注意点として、Kernelのprotected $middlewareやprotected $middlewareGroupに入れてしまうとauthの前に発動してしまいます。(Laravelのauthを使っている場合ですが・・)

もちろんKernelで定義しておかないと使うことはできません。

そこでprotected $routeMiddlewareで定義しておき(ここはrouteで使う用であくまで定義なので実行はされません。),routeの方でauthの後に書いてあげればauth後の処理(具体的にはログインユーザーの情報)を行うことができます。

Laravelのミドルウェアの実施順検証と小技

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Traitによるコードの再利用

PHPでは多重継承が禁じられて(親は1つしかもてない)いるため、共通性のあるコードを書こうと思った時に親にかいていない場合限界があります。 そんな時に使えるのがTraitという考え方で、これを使います …

no image

cakePHPでの多対多について

cakePHPで多対多のリレーションを使う機会があったので、その時のメモなどを。 多対多を説明するときには例によってブログの投稿(Item)とタグ(Tag)の関係が一番わかりやすいですね。 Conte …

no image

フレームワークの基本的なアーキテクチャについて

フレームワークで大事なのは基本的な文法ではなく、構造の理解だと思います。 PHPですとCake,Laravel,Synfonyなどありますが、1つのものでしっかりと理解できていれば他のものもそれほど問 …

no image

Laravelでのアプリ間のログイン連携

実務でLaravelで複数のアプリを作成し、アプリ同士でログイン連携をさせるという機能が実務であったため、メモします。 例えばhttp://example.comという売上管理のアプリでログイン認証を …

no image

cakePHP3インストール

PHP7に上がりましたが、それ以前にcakeがversion3になっていますね。 いずれはこれでリプレイスをしなくてはいけないので、今日とりあえずインストールしてみました。 原則としてcomposer …