2016-10-27 15 views
0

私は現在プロジェクトを行っています。これで私は、ユーザーが自分の電子メールまたはユーザー名のいずれかにログインすることを望んでいますが、これは私がこれを行うことはできません。私はそれが欲しいユーザーが彼のパネルにログインすることができます彼の電子メールまたは彼のユーザー名とパスワードを提供する場合。私はlaravel 5.3デフォルト関数を使用しています。私はlaravel 5.1でこれをやっていますが、5.3ではこれを行うことはできません。助けてください。ユーザー名とメールアドレスはすべてlaravelでログインしてください5.3

答えて

0

login()メソッドをAuth\LoginController.phpにオーバーライドすると、これを行うことができます。ただ、資格情報が有効であるかどうかを確認し、これを実行します。たとえば

return $this->sendLoginResponse($request); 

を:

if (Hash::check($request->password, $passwordFromDB) && ($request->username == $usernameFromDB || $request->email == $emailFromDB)) { 
    return $this->sendLoginResponse($request); 
} 

return $this->sendFailedLoginResponse($request); 
+0

私はこれを追加した場合、それは私にエラー 'FatalThrowableError LoginController.phpで行42示します: 解析エラー:構文エラーを、予期せぬ「return」(T_RETURN)、期待する関数(T_FUNCTION) ' –

+0

@ JahidMahmud、それだけではいけません。あなたは 'login()'コントローラをオーバーライドし、そこに資格情報を追加するべきです。これらの資格が有効な場合は、 'return $ this-> sendLoginResponse($ request);' –

+0

を実行する必要があります。 @AlexeyMezenin。私は試してみましたが、メールやユーザー名のどちらにもログインすることができません。 –

関連する問題