/** * 执行用户登录 * * @return boolean */ public function accountAction() { $email = $this->getRequest()->getPost('email'); $password = $this->getRequest()->getPost('password'); if (empty($email)) { Page::displayError('Please enter email'); } if (empty($password)) { Page::displayError('Please enter password'); } if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { Page::displayError('Email format error'); } $userInfo = $this->models['userModel']->getUserByEmail($email); if (empty($userInfo)) { Page::displayError('User not exist'); } // 检查密码 if ($userInfo['password'] == md5(md5($password) . $userInfo['salt'])) { // 写入 Cookies Local\Header\Cookies::setCookie('email', $userInfo['email']); Local\Header\Cookies::setCookie('password', $userInfo['password']); // 更新最后登录时间 $this->models['userModel']->updateLastLoginTime($userInfo['userid']); $this->redirect('/index'); } else { Page::displayError('Email or password is not correct'); } return FALSE; }
/** * 用户注销 * */ public function indexAction() { // 清除 Cookies Local\Header\Cookies::clearCookie('email'); Local\Header\Cookies::clearCookie('password'); Local\Header\Cookies::clearCookie('adminemail'); Local\Header\Cookies::clearCookie('adminpassword'); // 删除全局数据 Yaf\Registry::del('userInfo'); $this->redirect('/index'); return FALSE; }
/** * 获取用户信息 * */ public function _initUserInfo() { $userModel = new UserModel(); $httpRequest = new Yaf\Request\Http(); // 获取cookies $email = $httpRequest->getCookie('email'); $password = $httpRequest->getCookie('password'); $userInfo = array(); if ($email) { // 查询用户信息 $userInfoQuery = $userModel->getUserByEmail($email); if ($userInfoQuery['password'] == $password) { $userInfo = $userInfoQuery; } else { // 清除 Cookies Local\Header\Cookies::clearCookie('email'); Local\Header\Cookies::clearCookie('password'); } unset($userInfoQuery); } Yaf\Registry::set('userInfo', $userInfo); unset($userInfo); }