public function login($get, $post) { $access = Auth::instance(); $use_captcha = Config::get('app/login/use_captcha'); if ($access->isLogin()) { Router::jumpTo('user'); } if ($post) { if ($use_captcha) { if (empty($post['captcha'])) { return new Result('请输入验证码', false, 'captcha'); } if (strtolower($post['captcha']) != strtolower(Auth::getCaptcha())) { Auth::setCaptcha(''); return new Result('您输入的验证码不正确,请重新输入', false, 'captcha'); } Auth::setCaptcha(''); } if (!User::find('name=?', $post['name'])->count()) { return new Result('当前用户名未登记'); } $user_info = User::validatePsw($post['name'], $post['password']); if ($user_info) { if ($post['auto_login']) { $access->setCookieExpired(Config::get('app/login/expired')); } else { $access->setCookieExpired(0); } Auth::instance()->login($user_info); return new Result('登录成功', true, null, Router::getUrl()); } return new Result('用户名或密码错误'); } return array('use_captcha' => $use_captcha); }
public function login($get, $post) { $access = Auth::instance(); $use_captcha = Config::get('app/login/use_captcha'); session_start(); $REF_SS_KEY = 'LOGIN_REF_SS_KEY'; $ref = $_SESSION[$REF_SS_KEY]; if (!$ref) { $ref = $_SERVER['HTTP_REFERER']; $c = Router::getUrl('index/login'); $tmp = parse_url($ref); if (stripos($ref, $c) !== false || stripos($_SERVER['HTTP_HOST'], $tmp['host']) === false) { $ref = Router::getUrl(); } $_SESSION[$REF_SS_KEY] = $ref; } if ($access->isLogin()) { Router::jumpTo($ref); } if ($post) { if ($use_captcha) { if (empty($post['captcha'])) { return new Result('请输入验证码', false, 'captcha'); } if (strtolower($post['captcha']) != strtolower(Auth::getCaptcha())) { Auth::setCaptcha(''); return new Result('您输入的验证码不正确,请重新输入', false, 'captcha'); } Auth::setCaptcha(''); } if (!User::find('name=?', $post['name'])->count()) { return new Result('当前用户名未登记'); } $user_info = User::validatePsw($post['name'], $post['password']); if ($user_info) { if ($user_info['state'] != User::STATE_ENABLED) { return new Result('当前账号已禁用'); } if ($post['auto_login']) { $access->setCookieExpired(Config::get('app/login/expired')); } else { $access->setCookieExpired(0); } Auth::instance()->login($user_info); unset($_SESSION[$REF_SS_KEY]); return new Result('登录成功', true, null, $ref); } return new Result('用户名或密码错误'); } return array('use_captcha' => $use_captcha); }