2013-08-11 6 views
1

У меня есть следующий код для проверки того, входит ли пользователь в мое приложение.nodejs + express + appfog другой сеанс для ресурса img

Моя проблема заключается в том, что после входа пользователя в запрос img выполняется другой сеанс, чем тот, который я сохраняю для пользователя.

У меня есть следующий код для проверки того, входит ли пользователь в мое приложение.

app.all('*', function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header("Access-Control-Allow-Headers", "X-Requested-With"); 
    globalApp.mongo.getUserBySessionId(req.sessionID,function(user){ 
     console.log("SessionID :"+req.sessionID); 
     console.log("User : "+ JSON.stringify(user)); 
     console.log("Route : "+JSON.stringify(req.route.params)); 
     if(user){ 
      req.user = user; 
      res.locals.user = req.user; 
      res.locals.security = globalApp.security; 
     }else{ 
      if(publicPaths.indexOf(req.route.params[0])==-1){ 
       res.send({error:true,reason:'You are not logged in, please re-start the app.'}); 
       return; 
      } 
     } 
     next(); 
    }); 
}); 

И я запрашивающий изображение вроде этого:

<img src="/images/loading.gif" width="49" height="49"/> 

Самое смешное, что все другие типы файлов обслуживаются properly.Server создает новый сеанс для каждого запроса IMG.

Кроме того, это происходит только тогда, когда приложение работает на appfog. В моем компьютере (localhost) он отлично работает.

Любые советы?

Большое спасибо.

ответ

0

Я знаю, что опаздываю, но у меня была такая же проблема. Кажется, AppFog разрешает куки для изображения и может быть некоторыми другими ресурсами, поэтому нет простого способа контролировать доступ к изображениям с помощью сеансов. Вы можете переименовать ресурс «/images/loading.gif» в «/ images/load» для exmaple. http://feedback.appfog.com/forums/171983-appfog/suggestions/4299861-do-not-cut-cookie-for-images-and-other-resources