コード例 #1
0
 /**
  * @brief login 用户登录
  *
  * @return void
  */
 public function login()
 {
     $username = Request::P('username', 'string');
     $password = Request::P('password', 'string');
     $remember = Request::P('remember');
     if ($username == NULL || $password == NULL) {
         $r = array('success' => FALSE, 'message' => _t('Username or password missed.'));
         Response::ajaxReturn($r);
         return;
     }
     $user = new UserLibrary();
     $user->setName($username);
     if (!($u = $user->getUser())) {
         $r = array('success' => FALSE, 'message' => _t('Username not exists.'));
         Response::ajaxReturn($r);
     } else {
         if ($u['password'] != strtolower(md5($password))) {
             $r = array('success' => FALSE, 'message' => _t('Password wrong.'));
             Response::ajaxReturn($r);
             return;
         }
         $this->user['uid'] = $u['uid'];
         $this->user['username'] = $u['username'];
         $this->user['group'] = $u['group'];
         $this->user['email'] = $u['email'];
         $this->user['website'] = $u['website'];
         $expire = $remember ? time() + $remember : 0;
         if ($remember) {
             $u['auth'] = LogX::randomString(8);
             $user->updateSalt($u['auth']);
         }
         Response::setCookie('userid', $u['uid'], $expire);
         Response::setCookie('password', md5($u['auth'] . $u['password']), $expire);
         $r = array('success' => TRUE, 'message' => _t('Login success.'));
         Response::ajaxReturn($r);
     }
 }