first(); if (!$user || $user->pass !== md5($credentials['password'])) { return ['success' => false, 'error_key' => 'mail', 'error_msg' => 'Thông tin đăng nhập không đúng. Vui lòng nhập lại']; } // Log the user in manually Auth::login($user); $request->session()->regenerate(); if ($user->status != User::STATUS_ACTIVE) { Auth::logout(); return ['success' => false, 'error_key' => 'permission', 'error_msg' => 'Bạn không có quyền truy cập. Vui lòng liên hệ quản trị viên']; } return ['success' => true, 'user' => $user]; } public function logout(Request $request): void { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); } public function getRedirectRouteForUser(User $user): string { if ($user->first_login == User::FIRST_LOGIN_TRUE) { return route('user.change_password'); } if ($user->role == User::ROLE_ADMIN) { return route('admin.dashboard'); } return route('user.dashboard'); } }