Laravel passport-允许用户作为其他用户/登录
我正在开发一个应用程序,其中一些用户应该可以访问其他用户帐户。例如:在一个家庭中,母亲和所有3个孩子都有一个账户。现在,母亲应该可以访问所有孩子的帐户 是否有可能使用Passport在Laravel中设置类似的内容?我考虑了一个包含两列的“permission”数据库表(parent\u account、child\u account)。然后,父帐户可以在其拥有权限的帐户之间切换 Perfect类似于一个中间件,我可以在其中设置Laravel passport-允许用户作为其他用户/登录,laravel,authentication,laravel-passport,Laravel,Authentication,Laravel Passport,我正在开发一个应用程序,其中一些用户应该可以访问其他用户帐户。例如:在一个家庭中,母亲和所有3个孩子都有一个账户。现在,母亲应该可以访问所有孩子的帐户 是否有可能使用Passport在Laravel中设置类似的内容?我考虑了一个包含两列的“permission”数据库表(parent\u account、child\u account)。然后,父帐户可以在其拥有权限的帐户之间切换 Perfect类似于一个中间件,我可以在其中设置Auth::actAs($child)之后,每次Auth::user
Auth::actAs($child)代码>之后,每次Auth::user()
调用都是子调用,直到我切换回“正常”帐户
附加信息:我正在使用Laravel为我的React前端应用程序提供API。我尝试了Auth::loginUsingId
函数,但是当我使用它时,我注销了,并且得到了方法illumb\Auth\RequestGuard::loginUsingId不存在。
异常
我正在使用Laravel版本6.9.0
我找到了解决问题的方法
我添加了一个包含以下代码的中间件:
public function handle($request, Closure $next)
{
$activeChild = Auth::user()->activeChild; // id of child user
if ($activeChild) {
Auth::setUser($activeChild);
}
return $next($request);
}
之后,我将此中间件添加到所有路由:
Route::group(['middleware' => ['actAsUser']], function () {
// some routes
});
我找到了解决问题的办法
我添加了一个包含以下代码的中间件:
public function handle($request, Closure $next)
{
$activeChild = Auth::user()->activeChild; // id of child user
if ($activeChild) {
Auth::setUser($activeChild);
}
return $next($request);
}
之后,我将此中间件添加到所有路由:
Route::group(['middleware' => ['actAsUser']], function () {
// some routes
});
请指定您的laravel版本。@AlexandrBiship查看我的编辑-v6.9.0请指定您的laravel版本。@AlexandrBiship查看我的编辑-v6.9.0