Example #1
0
 public function login()
 {
     if (pamAccount::isEnableVcode('desktop')) {
         if (!base_vcode::verify($this->app->app_id, $_POST['verifycode'])) {
             $msg = app::get('desktop')->_('验证码不正确!');
             $this->__loginLog($msg);
             $url = url::route('shopadmin', array('ctl' => 'passport', 'act' => 'index', 'url' => input::get('redirect'), 'msg' => urlencode($msg)));
             echo "<script>location ='{$url}'</script>";
             exit;
         }
     }
     try {
         kernel::single('desktop_passport')->login(input::get());
         $msg = app::get('desktop')->_('验证成功');
         $this->__loginLog($msg);
     } catch (Exception $e) {
         $msg = $e->getMessage();
         $this->__loginLog($msg);
         $url = url::route('shopadmin', array('ctl' => 'passport', 'act' => 'index', 'url' => input::get('redirect'), 'msg' => urlencode($msg)));
         echo "<script>location ='{$url}'</script>";
         exit;
     }
     $params['member_id'] = pamAccount::getAccountId();
     $params['uname'] = pamAccount::getLoginName();
     foreach (kernel::servicelist('desktop_login_listener') as $service) {
         $service->listener_login($params);
     }
     if (input::get('remember') === "true") {
         setcookie('pam_passport_basic_uname', input::get('uname'), time() + 365 * 24 * 3600, '/');
     } else {
         setcookie('pam_passport_basic_uname', '', 0, '/');
     }
     if ($_COOKIE['autologin'] > 0) {
         kernel::single('base_session')->set_cookie_expires($_COOKIE['autologin']);
         //如果自动登录,设置cookie过期时间,单位:分
     }
     if ($_COOKIE['S']['SIGN']['AUTO'] > 0) {
         $minutes = 10 * 24 * 60;
         kernel::single('base_session')->set_cookie_expires($minutes);
     }
     header('Location:' . base64_decode(str_replace('%2F', '/', urldecode(input::get('redirect')))) . $url);
     exit;
 }