2013-08-11 7 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에서 실행될 때만 발생합니다. 내 컴퓨터 (로컬 호스트)에서 잘 작동합니다.

어떤 조언이 필요합니까?

고마워요.

답변

0

나는 늦었다 고 알고 있지만, 나는 똑같은 문제가있다. AppFog는 이미지 용 쿠키를 잘라 내고 다른 리소스가 될 수 있으므로 세션을 통한 이미지 액세스를 제어 할 수있는 일반적인 방법은 없습니다. 예를 들어 "/images/loading.gif"자원을 "/ images/loading"자원으로 바꿀 수 있습니다. http://feedback.appfog.com/forums/171983-appfog/suggestions/4299861-do-not-cut-cookie-for-images-and-other-resources