get('isLoggedIn')) { return redirect()->to('v2/login'); } // Jika sudah login, arahkan sesuai level switch ($session->get('level')) { case 1: return redirect()->to('v2/admin'); case 2: return redirect()->to('v2/analyst'); case 3: return redirect()->to('v2/phlebotomist'); case 4: return redirect()->to('v2/cs'); default: return redirect()->to('v2/login'); } } public function loginPage() { return view("v2/login"); } public function login() { helper(['form', 'url']); $session = session(); $db = \Config\Database::connect(); $userid = strtoupper(trim($this->request->getPost('userid'))); $password = $this->request->getPost('password'); // Gunakan raw SQL sesuai kolom di tabel kamu $query = $db->query("SELECT * FROM gdc_cmod.dbo.USERS WHERE USERID = ?", [$userid]); $user = $query->getRowArray(); if ($user && !empty($user['PASSWORD']) && password_verify($password, $user['PASSWORD'])) { // Role untuk url switch ((int)$user['USERLEVEL']) { case 1: $role = 'admin'; break; case 2: $role = 'analyst'; break; case 3: $role = 'phlebotomist'; break; case 4: $role = 'cs'; break; default: $role = ''; break; } // Simpan session $session->set([ 'isLoggedIn' => true, 'userid' => (string) $user['USERID'], 'userlevel' => (int) $user['USERLEVEL'], 'userrole' => (string) $role, ]); // Redirect sesuai level dari data didatabase switch ((int)$user['USERLEVEL']) { case 1: return redirect()->to('v2/admin'); case 2: return redirect()->to('v2/lab'); case 3: return redirect()->to('v2/phlebotomist'); case 4: return redirect()->to('v2/cs'); default: return redirect()->to('v2/login'); } } else { $session->setFlashdata('error', 'USERID atau PASSWORD salah.'); return redirect()->back(); } } public function logout() { $session = session(); $session->destroy(); return redirect()->to('v2/login'); } }