我似乎无法在这个问题上投入我的手指。我为laravel 7应用设置了典型的用户和管理员多登录名。当我注册的第一个管理员登录时,一切正常。但是,如果我在admins表中注册了更多管理员,甚至认为Auth :: guard('admin')-> attempt都可行,则登录将在重定向时丢失并再次发送到登录表单。
我指出了似乎与管理员ID有关的问题。 id = 1的任何记录均有效,而其他任何记录均无效。我尝试将受保护的$ primaryKey ='id'添加到模型中,但仍然无法正常工作。有人可以理解并帮助解决吗?
public function adminLogin(Request $request)
{
$this->validate($request, [
'email' => 'required|email',
'password' => 'required|min:6'
]);
if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
Auth::login(Admin::where('email', $request->email)->first()); // It's only working for id=1 and it only works if I add Auth::login manually
return redirect()->intended(route('admin.dashboard'));
}
return back()->withInput($request->only('email', 'remember'));
}