簡體   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