这是我想在 laravel 5.6 中进行身份验证的表结构:
权限:permission_id,权限
登录: login_id , permission_id , Full_name , 密码
电子邮件: email_id , login_id , 电子邮件
电话: 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');
}
}
?>