emailとpasswordが一致するレコードの存在チェックだけでなく、他のカラムの値もチェックに加える方法。
例えば、statusカラムがあったとして、statusカラムが1のみログイン可能とする場合
実際のログイン処理は、/vendor/laravel/ui/auth-backendフォルダのAuthenticatesUsersトレイトに書かれているのでAuthenticatesUsers.phpを開き、↓credentialsメソッドをコピーする。
protected function credentials(Request $request)
{
return $request->only($this->username(), 'password');
}
/app/Http/Controllers/User/Auth/LoginController.phpを開きオーバーライドし、条件を追加すればOK。
protected function credentials(Request $request)
{
$arr = $request->only($this->username(), 'password');
$arr['status'] = 1;
return $arr;
}
また、statusカラムの値が1と2の場合のみログイン可能とする場合は、以下のようにすればOK。
protected function credentials(Request $request)
{
$arr = $request->only($this->username(), 'password');
$arr['status'] = [1, 2];
return $arr;
}