LAYOUTS['empty'], 'title' => '로그인', 'forms' => [ 'attributes' => ['action' => 'post', 'class' => 'row g-3'], 'hiddens' => [SESSION_NAMES['RETURN_URL'] => session()->get(SESSION_NAMES['RETURN_URL'])], ] ]; return view('auth/login', $viewDatas); } public function signin() { $id = $this->request->getVar('id'); $passwd = $this->request->getVar('passwd'); $model = new UserModel(); $user = $model->asObject(UserEntity::class)->where('id', $id)->first(); if (is_null($user) || !isset($user->passwd)) { session()->setFlashdata('error', "사용자ID: {$id}가 존재하지 않습니다."); return redirect()->back()->withInput(); } if (password_verify($passwd, $user->passwd)) { //Session에 Login 정보전달 $authData = [ 'uid' => $user->uid, 'name' => $user->name, 'email' => $user->email, 'role' => $user->role, SESSION_NAMES['ISLOGIN'] => true ]; session()->set($authData); return redirect()->to($this->request->getVar(SESSION_NAMES['RETURN_URL']) ? $this->request->getVar(SESSION_NAMES['RETURN_URL']) : "/"); } else { session()->setFlashdata('error', '암호가 맞지 않습니다.'); return redirect()->back()->withInput(); } } public function logout() { //Session에 Login 정보 삭제 session()->set([SESSION_NAMES['ISLOGIN'] => false]); session_destroy(); return redirect()->route('/'); } }