php - Laravel 7.x 使用电话登录,而不是使用使用尝试登录()方法的自定义登录的电子邮件
问题描述
我一直在使用我的 loginController 中的尝试登录()来使用自定义身份验证系统。现在,我想使用电话而不是电子邮件登录。我已经尝试在返回电话列字段的控制器中覆盖 username() 方法。但是,将其与 tryLogin() 一起使用似乎不起作用。我的 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);
}
}
解决方案
推荐阅读
- python-3.x - 在 python 中读取正在运行的日志文件,并能够在某个字符串或事件发生时创建输出标志
- node.js - MongoDB - 何时添加子文档以及何时引用
- r - 尝试在 R 中创建晶格时,我不断收到“乐趣错误(键 = 基数”)
- ios - UIScrollView bar 插入标签栏和导航栏的大小
- javascript - 未捕获的 ReferenceError:随机数未在 test.js 中定义
- php - 如何从旧数组中按每个重复值的计数降序创建新数组
- python - 将整数和字符串拆分为其他列表
- javascript - JS onclick,覆盖之前的点击
- python - 正则表达式 Python:保留第一个数字
- json - Chartist.js - 数据点不可见,格式化 json 数据存在问题