Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 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);
 }