Php Laravel 7.x使用电话而不是电子邮件登录,自定义登录使用attemptLogin()方法

Php Laravel 7.x使用电话而不是电子邮件登录,自定义登录使用attemptLogin()方法,php,laravel,authentication,Php,Laravel,Authentication,我一直在使用loginController中的attemptLogin()自定义身份验证系统。现在,我想用电话而不是电子邮件登录。我已尝试重写控制器中返回手机列字段的username()方法。但是,将其与attemptLogin()一起使用似乎不起作用。下面给出了我的loginController <?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use App\Provide

我一直在使用loginController中的attemptLogin()自定义身份验证系统。现在,我想用电话而不是电子邮件登录。我已尝试重写控制器中返回手机列字段的username()方法。但是,将其与attemptLogin()一起使用似乎不起作用。下面给出了我的loginController

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use App\User;
use Auth;

class LoginController extends Controller
{
    use AuthenticatesUsers;

    

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = RouteServiceProvider::HOME;

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

    public function showLoginForm()
    {
        // Get URLs
        $urlPrevious = url()->previous();
        $urlBase = url()->to('/');

        // Set the previous url that we came from to redirect to after successful login but only if is internal
        if(($urlPrevious != $urlBase . '/login') && (substr($urlPrevious, 0, strlen($urlBase)) === $urlBase)) {
            session()->put('url.intended', $urlPrevious);
        }

        return view('auth.login');
    }
    public function username()
    {
        return 'PHONE';
    }

    protected function attemptLogin(Request $request)
    {

        $user = User::where('PHONE', $request->phone)
                    ->where('PASSWORD', $request->password)
                    ->first();
        //dd($user);

        if(!isset($user)){
            return false;
        }

        return    Auth::login($user);
    }

}

您应该在您的用户模型中重写
username()
函数。您的数据库中有纯文本密码吗?是的,我有一个特定用例的纯密码,这就是为什么我必须自定义login@lagboxOverriding username at model对我@Surajit似乎不起作用