質問: Laravel5.4を使用して開発しております。 既存のユーザ情報テーブルを用いて認証を実現したいため、app/configのauth.phpを変更し、既存のテーブルのモデルクラスを指定するよう変更しました。 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\Models\UserInfo::class, ], 結果としてはログインを実行してみると、エラーメッセージ等の表示も何もなくログイン画面へリダイレクトされてしまいました。 処理を追ったところ、ログイン情報をポストし、認証を行うところまではうまくいっているのですが、/homeへリダイレクトした後にセッションからユーザ情報を取得できておらず、GuardHelpersのauthenticateからAuthenticationExceptionがthrowされてしまっていました。 原因としてはUserInfoのテーブルにidというカラムが無いことらしく、テーブルにidのカラムを追加し、一意の値をふったところ問題なく認証および/homeへの遷移が出来ました。 しかしUserInfoは既存のテーブルであるためカラムの追加は好ましくありません。現在の主キーはuserIdというカラムでvarchar(15)となっています。 どうにかidというカラムを増やさずにセッションに認証情報を格納することはできないでしょうか。
回答: App\Models\UserInfoの主キーの指定が必要でした。