概要
基本的な流れの一つ。
form要素のアクションでlogoutを指定して、submitボタンを配置LoginControllerでloggedOut()メソッドをオーバーライドしてリダイレクト先を指定
ログアウトボタンの配置
フォームとボタンによる方法
ログアウト機能を実装するビューで以下のようなform要素を記述。
|
1 2 3 4 |
<form action="{{ route('logout') }}" method="post"> @csrf <input type="submit" value="ログアウト"> </form> |
アンカー要素による方法
ログアウト機能を実装するビューで以下のようなアンカー要素を記述。
|
1 |
<a href="/logout">ログアウト</a> |
アンカー要素はGETメソッドを発行するので、以下のルーティングをroutes/web.phpに追加。
|
1 |
Route::get('/logout', 'Auth\LoginController@logout'); |
その他の方法
このほか、form要素にhiddenタイプのinput要素を配置して、アンカータグでログアウトさせる方法もあるらしい。
ログアウト後のリダイレクト先を変更
LoginControllerで以下の様にloggedOut()メソッドをオーバーライドし、リダイレクト先を指定。
|
1 2 3 4 5 6 7 |
class LoginController extends Controller { .... protected function loggedOut(\Illuminate\Http\Request $request) { return redirect('login'); } } |
メソッドインジェクションのRequestは、ファイル冒頭でuseするならフルネームスペースでなくてもよい。