Laravelでマルチ認証を使用しています。
admin、userでそれぞれ、認証が必要なページの場合にリダイレクトを設定したいです
認証が必要なページのコントローラーへ
public function __construct() { $this->middleware('auth:admin'); }
のような形で指定しています。
auth.phpにもガードとしてadminを設定しています。
未ログイン時にログイン認証が必要なページにアクセスした時のそれぞれのログインページへのリダイレクト先を指定するために
app/Http/Middleware/Authenticate.phpで
protected function redirectTo($request) { ルーティングに応じて未ログイン時のリダイレクト先を振り分ける if (!$request->expectsJson()) { if (Route::is('admin.order')) { return route($this->admin_route); } elseif (Route::is('admin.product')) { return route($this->admin_route); } elseif (Route::is('user')) { return route($this->user_route); } elseif (Route::is('user.order')) { return route($this->user_route); } } }
などとして、振り分けているのですが、
この場合だと、ルートごとに指定しているので、
コントローラーでadminの認証が必要だった場合などは
ルートに関わらず、すべてadmin.loginへリダイレクト、
userの認証が必要だった場合はuser.loginへリダイレクトという形にしたいのですが、
こういった場合は、ここで指定をどのようにかえればよいのでしょうか?
また、middlewareを作成するほうが良いのでしょうか?
よろしくお願いいたします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/04 04:17
2020/07/04 07:08
2020/07/04 08:12
2020/07/04 08:16
2020/07/04 08:40
2020/07/04 08:51