Это моя структура таблиц, которую я хочу сделать авторизацией в laravel 5.6:
разрешение : разрешение_ид, разрешение
логин : login_id, access_id, полное имя, пароль
email : email_id, login_id, email
phone : phone_id, login_id, phone_number
пользователи могут войти по электронной почте и паролю или по телефону с паролем, у каждого пользователя может быть много телефонов и электронной почты, и у меня есть 3 типа разрешений: пользователь, администратор, менеджер.
как я могу это сделать?это мой код, он работает, если адрес электронной почты и телефон были полем в таблице входа в систему, но в моем случае адрес электронной почты и телефон отделены от таблицы входа в систему, поскольку у каждого пользователя может быть несколько адресов электронной почты или телефона.
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller {
use AuthenticatesUsers;
public function showLoginForm() {
return view('panel.login');
}
public function username()
{
return 'email';
}
protected function attemptLogin(Request $request)
{
$username = $request->username;
return $this->guard()->attempt(
$this->credentials($request), $request->filled('remember')
);
}
protected $redirectTo = '/panel';
public function __construct() {
$this->middleware('guest')->except('logout');
}
}
?>