您好,感谢所有抽出宝贵时间仔细研究此问题的人。
这里有一点背景。我们当前的系统具有一个包含一组用户的客户端仪表板。登录此仪表板时,它将首先查看用户名是否在数据库中。如果找不到,则它将调用具有“网站管理员”管理员列表的第三方api,并在那里验证凭据。
我正在尝试在Laravel 5.7中实现此功能,但不确定如何去做。到目前为止,我已经创建了一个ActiveDirectory类,该类可以调用API来验证凭据。然后在LoginController
中,我有以下内容:
public function login(Request $request)
{
// Validate the form data
$this->validate($request, [
$this->username() => 'required',
'password' => 'required|min:6'
]);
if ($this->attemptLogin($request)) {
return $this->sendLoginResponse($request);
}
// Need to check if user is in active directory
if (ActiveDirectory::validateWebmasterAdmin(request('username'), request('password'))) {
return $this->sendLoginResponse($request);
}
// If the login attempt was unsuccessful we will increment the number of attempts
// to login and redirect the user back to the login form. Of course, when this
// user surpasses their maximum number of attempts they will get locked out.
$this->incrementLoginAttempts($request);
return $this->sendFailedLoginResponse($request);
}
我得到了正确的回复,但是用户仍未通过身份验证,我确定这是由于我未正确执行的操作。我认为这与$this->sendLoginResponse($request)
有关。
如果从API获得的凭据匹配,我想使用我从应用程序中获得的一些数据。例如,API将返回一个名称,而我想在类似{{Auth :: user()-> name}}
的视图中使用它任何帮助将不胜感激。