Laravel 如何在没有真正身份验证的情况下使用Auth::login()
我想使用“Laravel”身份验证功能 我有一个中间件,可以找到一些数据,提取:Laravel 如何在没有真正身份验证的情况下使用Auth::login(),laravel,Laravel,我想使用“Laravel”身份验证功能 我有一个中间件,可以找到一些数据,提取: $member = $this->memberService->getMemberRolesFromLdap($accessToken, $id); $member是一个数组 在这项研究之后,我想将这个$member存储在某个地方,以便稍后在其他一些类中检索一些数据。就像这样: $roles = Auth::user()->roles; 所以我认为这是一个使用这些Auth特性的好机会。但就目前
$member = $this->memberService->getMemberRolesFromLdap($accessToken, $id);
$member是一个数组
在这项研究之后,我想将这个$member存储在某个地方,以便稍后在其他一些类中检索一些数据。就像这样:
$roles = Auth::user()->roles;
所以我认为这是一个使用这些Auth特性的好机会。但就目前而言,我有一个错误:
Symfony\Component\Debug\Exception\fatalthrowable错误:传递给Illumb\Auth\SessionGuard::login()的参数1必须是Illumb\Contracts\Auth\Authenticatable的实例,给定数组
所以,如果我理解,我必须声明$member使用(或是)可验证的实例的某个地方。在那里我承认我的极限
使用Auth功能来实现这一点是不是一个好主意?如果是,我该如何实现这一点?我尝试过这个。这是可行的,但我不确定这是否是最佳做法:
$ldapData = $this->memberService->getMemberRolesFromLdap($accessToken, $id);
// login this member
$user = new User();
$user->ldapData = $ldapData;
Auth::login($user);
现在,我可以像这样操纵用户:
Auth::user()->ldapData