3
電子郵件/電話號碼,我使用登錄在Laravel驗證()
Route::auth();
製作用戶登錄在Laravel。 有多個電話鏈接到用戶並保存在表格中:電話。 表是 用戶:ID,電子郵件,密碼 電話:身份證,USER_ID,PHONE_NUMBER
如何使用戶登錄與兩個郵件/電話和密碼
電子郵件/電話號碼,我使用登錄在Laravel驗證()
Route::auth();
製作用戶登錄在Laravel。 有多個電話鏈接到用戶並保存在表格中:電話。 表是 用戶:ID,電子郵件,密碼 電話:身份證,USER_ID,PHONE_NUMBER
如何使用戶登錄與兩個郵件/電話和密碼
在App\Traits\Auth
,創建一個名爲LoginUser.php
文件。
<?php
namespace App\Traits\Auth;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
trait LoginUser
{
/**
* Handle a Authenticates the User.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function login(Request $request)
{
$this->validateLogin($request);
if ($this->attemptLogin($request)) {
return $this->successfulLogin($request);
}
return $this->failedLogin($request);
}
/**
* Validate the user login request.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function validateLogin(Request $request)
{
$this->validate($request, [
'username' => 'required',
'password' => 'required',
]);
}
/**
* Attempt to log the user into the application.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function attemptLogin(Request $request)
{
//Try with email AND username fields
if (Auth::attempt([
'phone' => $request['username'],
'password' => $request['password']
],$request->has('remember'))
|| Auth::attempt([
'email' => $request['username'],
'password' => $request['password']
],$request->has('remember'))){
return true;
}
return false;
}
/**
* This is executed when the user successfully logs in
*
* @var Request $request
* @return Reponse
*/
protected function successfulLogin(Request $request){
return redirect($this->redirectTo);
}
/**
* This is executed when the user fails to log in
*
* @var Request $request
* @return Reponse
*/
protected function failedLogin(Request $request){
return redirect()->back()->withErrors(['password' => 'You entered the wrong username or password']);
}
}
然後在
App\Http\Controllers\Auth
重寫(或創建)LoginController.php
並粘貼此
<?php
namespace App\Http\Controllers\Auth;
use App\Traits\Auth\LoginUser;
use App\Http\Controllers\Controller;
class LoginController extends Controller
{
use LoginUser;
/**
* Where to redirect users after registration.
*
* @var string | URL
*/
protected $redirectTo = '/mPanel';
/**
* Displays login page
*
* @return \Illuminate\Http\Response
*/
public function show(){
return response()->view('LOGIN PAGE HERE');
}
}
最後,在你的路由文件,添加這些路線:
Route::get('login', 'Auth\[email protected]');
Route::post('login', 'Auth\[email protected]');
您可以驗證數據庫中的詳細信息,然後可以使用Auth :: loginUsingId($ user_id);登錄用戶 – geekbro
感謝@geekbro。試試這個 – dev21
你試過使用'Auth :: basic('username')'? – jycr753