鍍金池/ 問答/PHP/ laravel 不用填表單登錄?

laravel 不用填表單登錄?

laravel默認的登錄流程是通過表單用戶輸入賬號密碼登錄,然后提交表單登錄,

但我想實現(xiàn) 訪問一個控制器里的方法,然后就登錄了某個用戶 (用戶在控制器里指定),即不需要提交表單就登錄,

有辦法實現(xiàn)嗎?

回答
編輯回答
抱緊我

使用一個中間件,然后在需要的路由上附上中間件。
中間價的代碼基本就這樣:

public function handle($request, Closure $next, $guard = null)
{
    // 要認證的用戶
    $user = User::where('status', 1)->where()->first();
    if ($user) {
        Auth::login($user);
    }
    
    return $next($request);
}

# 控制器方法
public function index()
{
    $user = Auth::user();
}
2017年8月23日 21:33
編輯回答
司令

使用了Auth::guard()->login($user, true); 解決了;
其中$user為User模型, 模型里面需要引用Authenticatable類

2018年4月7日 23:00