コード例 #1
0
ファイル: Lite.php プロジェクト: WJayWJay/phalapi-library
 /**
  * 登录检测
  * @param boolean $isExitIfNotLogin 是否抛出异常以便让接口错误返回
  * @return boolean
  * @throws PhalApi_Exception_BadRequest
  */
 public function check($isExitIfNotLogin = false)
 {
     $userId = DI()->request->get('user_id');
     $token = DI()->request->get('token');
     //是否缺少必要参数
     if (empty($userId) || empty($token)) {
         DI()->logger->debug('user not login', array('userId' => $userId, 'token' => $token));
         if ($isExitIfNotLogin) {
             throw new PhalApi_Exception_BadRequest(T('user not login'), 1);
         }
         return false;
     }
     $model = new Model_User_UserSession();
     $expiresTime = $model->getExpiresTime($userId, $token);
     //是否已过期
     if ($expiresTime <= $_SERVER['REQUEST_TIME']) {
         DI()->logger->debug('user need to login again', array('expiresTime' => $expiresTime, 'userId' => $userId, 'token' => $token));
         if ($isExitIfNotLogin) {
             throw new PhalApi_Exception_BadRequest(T('user need to login again'), 1);
         }
         return false;
     }
     return true;
 }