我喜欢用户通过公司名称,用户名和密码登录 - 他们需要输入所有这些字段。Laravel Auth按公司名称,用户名和密码登录
username
和password
字段在users
表中。 company_name
在companies
表中。
username
可以在users
表中复制,但每个用户名属于不同的公司名称。 company_id
在users
表中定义。
如何对公司名称,用户名和密码进行验证?
我看了一下attemptLogin()
方法。
protected function attemptLogin(Request $request)
{
return $this->guard()->attempt(
$this->credentials($request), $request->has('remember')
);
}
我不能覆盖这个,因为我需要通过属于公司的特定用户,然后进行身份验证检查。
更新:
protected function authenticated(Request $request, User $user)
{
if (!$user->enable) {
Auth::logout();
return redirect('/login')->with('status', 'Account is disabled');
}
return redirect()->intended('/');
}
我忘了在用户表中提到它可以是company_id或warehouse_id。如果company_id为空,那么检查warehouse_id对'warehouses'表,它也有'company_name' –
如果你希望它很好,干净,请自行警惕并关注'attempt()'方法。 – Kyslik
@ I'll-Be-Back您正在贪婪...... – Kyslik