Laravel 5.6.27以降でログアウト後のリダイレクト先を変更したいなら、logout()ではなくloggedOut()をオーバーライドする
5.7で開発中なんだが、ログアウト後のリダイレクト先を変更するのどうしたらいいか調べてたら、ソースコードを読む感じIlluminate\Foundation\Auth\AuthenticatesUsers
のloggedOut()
をオーバーライドするのがよさそうだったのだが、ググると同じクラスのlogout()
をオーバーライドする例ばかり出てくる。
なぜかなーとgit blame
したところ、割と最近実装されたメソッドのようで、そのせいだろう。
Update AuthenticatesUsers.php · laravel/framework@e4a00e8 · GitHub
ということで、5.6.27以降ならloggedOut()
が使えるので使おう。
<?php # ... class LoginController extends Controller { use AuthenticatesUsers; # ... protected function loggedOut(Request $request) { return redirect(route('my_login')); } # ... }
とかそんな感じでよさそう。
認証周りのカスタマイズの知見いろいろ溜まってきているので、そろそろ一回まとめたいなー。