繁体   English   中英

我需要从我的管理员帐户登录到另一个用户而没有密码

[英]I need to log in to another user from my Admin account without a password

我正在开发一项功能,使管理员/超级用户可以从用户列表中选择一个帐户,然后从该管理员帐户中注销并立即以所选用户身份登录。 这必须在管理员不知道用户密码的情况下发生。

我在用户登录时使用Laravel护照和Laravel护照一起使用Laravel时,他收到一个令牌,可以使用该令牌访问其角色的页面。

我看到使用Auth::loginById是可能的,但这不适用于Laravel Passport。

在我的AdminController我有以下功能显然无法使用。

public function shadowLogin($id)
    {
        $user = User::find($id)->first();
        $credentials = [
            'username' => $user->username,
            'password' => ''
        ];

        if (auth()->attempt($username)) {
            $hierarchy = Hierarchy::where('id', auth()->user()->hierarchy_id)->first();

            $token = auth()->user()->createToken('tokenkey', [$hierarchy->hierarchy_name])->accessToken;

            return response()->json(['data' => auth()->user(), 'token' => $token], 200);
        }
    }

我希望最终能够“切换”当前存储的用户,以“切换”到所选的用户帐户,重定向到主页并登录。

更改会话user_id (或使用用户凭据加载会话数据)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM