Laravel 5.4を使って、ログアウトしてログインページにリダイレクトするには?
私はLaravel 5.4を使用しており、認証システムを実装しようとしています。php artisanコマンドのmake:authを使って設定しました。レイアウトに合わせてビューを編集しました。現在、ログアウトしようとすると次のようなエラーが発生します。
RouteCollection.phpの161行目でNotFoundHttpExceptionが発生しました。
誰かログアウトする方法を教えてください。
38
3
あなたの
web.php
(routes)で。add:
In your
LoginController.php
.add:
また、
LoginController.php
のトップで、namespace
の後にadd:
これで、
yourdomain.com/logout
のURLを使ってログアウトできるようになります。また、logout button
を作成している場合は、/logout
に href を追加します。たとえ@Tauras氏の提案がうまくいったとしても、それが正しい対処法とは思えません。
あなたは、
php artisan make:auth
を実行したとおっしゃいましたが、それによってroutes/web.php
ルーティングファイルにAuth::routes();
が挿入されているはずです。これは、デフォルトのlogout
ルートがすでに定義されており、logout
という名前になっています。GitHubのここで見ることができますが1、簡単にするためにここでコードを報告します。
また、「logout」はHTTPリクエストメソッドとして「POST」を 必須 としていることにも注意してください。これには様々な理由がありますが、特に重要なのは、この方法で cross-site request forgery を防ぐことができるということです。
私が指摘したことによると、これを実装する正しい方法は次のようになります。
最後に、Laravel のレディ関数
{{ csrf_field() }}
を挿入していることに注意してください!コントローラーの中で使用することができます。