我有以下代码来验证用户是否登录到我的应用程序。
我的问题是,一旦用户登录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"/>
有趣的是,所有其他类型的文件都可以正常使用。服务器正在为每个img请求创建一个新会话。
此外,仅当我的应用程序在appfog上运行时,才会发生这种情况。在我的计算机(本地主机)中,它工作正常。
有什么建议吗?
非常感谢。
最佳答案
我知道我迟到了,但我遇到了同样的问题。 AppFog似乎为图像切割了cookie,并且可能还有其他一些资源,因此没有简单的方法来控制会话的图像访问。您可以将资源“ /images/loading.gif”重命名为“ / images / loading”以获取示例。
http://feedback.appfog.com/forums/171983-appfog/suggestions/4299861-do-not-cut-cookie-for-images-and-other-resources