前提・実現したいこと
Laravel5.8を使用し、商品管理システムを作っています。
ユーザーテーブルにあるデータと照合してログイン認証を行い
ログインができたら商品一覧画面(product.list)へ遷移させたいのですが
ログイン後エラーが出て先に進めません。
発生している問題・エラーメッセージ
Method Illuminate\Auth\SessionGuard::fireValidatedEvent does not exist.
該当のソースコード
User.php
1<?php 2 3namespace App; 4 5 6// use Illuminate\Contracts\Auth\Authenticatable; 7use Illuminate\Notifications\Notifiable; 8use Illuminate\Foundation\Auth\User as Authenticatable; 9use Illuminate\Contracts\Auth\MustVerifyEmail; 10 11class User extends Authenticatable 12{ 13 use Notifiable; 14 //テーブル名 15 protected $table = 'users'; 16 //可変項目 17 protected $fillable = 18 [ 19 'user_name', 20 'email', 21 'password' 22 ]; 23 24 25}
web.php
1<?php 2 3use Illuminate\Support\Facades\Route; 4use App\Http\Controllers\Auth\AuthController; 5use App\Http\Controllers\Auth\ProductsController; 6use App\Http\Controllers\Auth\LoginController; 7use Illuminate\Support\Facades\Auth; 8 9//ログインフォーム表示 10Route::get('/', [AuthController::class,'showLogin'])->name('showLogin'); 11//ログイン処理 12Route::post('login',[AuthController::class, 'login'])->name('login'); 13 14//ログイン後の商品一覧画面表示 15Route::get('/login/products' , [ProductsController::class, 'showList'])->name('showList');
AuthController.php
1<?php 2 3namespace App\Http\Controllers\Auth; 4 5use Illuminate\Http\Request; 6use App\Http\Controllers\Controller; 7// use App\Http\Requests\LoginFormRequest; 8use App\Http\Requests\RegisterRequest; 9use Illuminate\Support\Facades\Auth; 10use App\User; 11 12class AuthController extends Controller 13{ 14 //ログインフォーム 15 /** 16 * @return View 17 */ 18 public function showLogin() 19 { 20 return view('login.login_form'); 21 } 22 23 public function login(Request $request) 24 { 25 26 27 28 $credentials = $request->only('email', 'password'); 29 30 if(Auth::attempt($credentials)) { 31 // 認証に成功した 32 return redirect()->intended('/login/products'); 33 } 34 35 return back()->withErrors([ 36 'login_error' => 'メールアドレスかパスワードが間違っています。', 37 ]); 38 }
login_form.blade.php
1 2<!DOCTYPE html> 3<html lang="ja" dir="ltr"> 4 <head> 5 <meta charset="utf-8"> 6 <title>ユーザーログイン画面</title> 7 <!-- Scripts --> 8 <script src="{{ asset('js/app.js')}}" defer></script> 9 <!-- Styles--> 10 <link href="{{ asset('css/app.css')}}" rel="stylesheet"> 11 <link href="{{ asset('css/signin.css')}}" rel="stylesheet"> 12 </head> 13 <body> 14 <form class="form-signin" method="POST" action="{{ route('login') }}"> 15 @csrf 16 <h1 class="h3 mb-3 font-weight-normal">ユーザーログイン画面</h1> 17 @if ($errors->any()) 18 <div class="alert alert-danger"> 19 <ul> 20 @foreach ($errors->all() as $error) 21 <li>{{ $error }}</li> 22 @endforeach 23 </ul> 24 </div> 25 @endif 26 27 <label for="email" class="sr-only">メールアドレス</label> 28 <input type="email" name="email" class="form-control" placeholder="メールアドレス" required autofocus> 29 30 <label for="password" class="sr-only">パスワード</label> 31 <input type="password" name="password" class="form-control" placeholder="パスワード" required autofocus> 32 33 <button class="btn btn-lg btn-primary btn-block" type="submit">ログイン</button> 34 <a href="{{ route('sign_up') }}">新規登録はこちら</a> 35 36 </form> 37 38 39 40 41 42 </body> 43</html> 44
試したこと
attemptの引数に何かしらエラーがある?と考え、ネットで検索しましたが
なにぶん初心者のため何がおかしいのかはわからず・・・
自作で認証機能を作成したのでどこかしらuse宣言がおかしいのかなと思い調べましたがあまりピンとこず
解決に至っておりません。。
どなたか、ご助言いただけますと幸いです。
※その他、必要なファイルがあればおっしゃってください
宜しくお願いいたします。
あなたの回答
tips
プレビュー