1

ユーザーがアカウントを作成した後、次の順序でリダイレクトされます

  1. 会社を登録する
  2. ロゴをアップロード
  3. 表紙をアップロード
  4. ストライプに接続
  5. 一般設定
  6. バウチャー設定
  7. 有料サブスクリプション

会社に関連するすべてのコントローラーによって拡張される OwnerController.php があります。その中で、2 つのミドルウェアを適用しました。 1. hasAccess - ユーザーがログインしているかどうかを確認します。そうすれば、ユーザーがアプリを使用する準備ができており、プロファイルが公開されていることがわかります。

registrationCompleteミドルウェアの適用方法は次のとおりです

$this->middleware('registrationComplete', ['except' => [
'registerView', 'registerPost', 
..... 
'editView' - the view method to update general settings from GeneralSettingsController
'editPost' - same as above except is the post method for same controller
]]);

問題は、アプリ全体の他のコントローラーに同じ名前の他のメソッドがあり、ユーザーがアドレスバーの URL を変更すると、登録プロセスが完了する前に制限された領域にアクセスできることです。

各ルートまたはグループ化されたルートに適用できることはわかっていますが、何百ものルートがあり、それはオプションではありません。

私がやりたいことは、コントローラー名もミドルウェアの except メソッドに追加することです。元

$this->middleware('registrationComplete', ['except' => 
'Modules\Settings\Controllers\GeneralSettings@editView',
'Modules\Settings\Controllers\GeneralSettings@editPost'
.....

どうすればそれを達成できるのでしょうか?

ありがとうございました

4

0 に答える 0