题:
是否有可能在PHP中存储类似于$_SESSION [‘somedata’] =“Hello”的会话数据?
到目前为止,这是我的代码:
创建内存存储
var MemoryStore = express.session.MemoryStore,sessionStore = new MemoryStore();
快速配置
app.configure(function(){
app.set('views',__dirname + '/views');
app.set('view engine','jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({
store: sessionStore,secret: 'secret',key: 'express.sid'}));
app.use(require('stylus').middleware({src: __dirname + '/public'}));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
解析cookie以获取握手授权的会话ID
var parseCookie = require('connect').utils.parseCookie;
io.set('authorization',function (data,accept) {
if (data.headers.cookie) {
data.cookie = parseCookie(data.headers.cookie);
data.sessionID = data.cookie['express.sid'];
sessionStore.get(data.sessionID,function (err,session) {
if (err)
{
accept(err.message,false); //Turn down the connection
}
else
{
data.session = session; //Accept the session
accept(null,true);
}
});
} else {
return accept('No cookie transmitted.',false);
}
});
密码和用户名为“admin”时存储“loggedin”
io.sockets.on('connection',function (socket) {
socket.on('details',function(data){
console.log("Details: " + data.u + data.p);
if(data.p == "admin" && data.u == "admin")
{
//Add the logged in field to the session
}
});
});
如果用户已登录,则将其重定向到主页
app.get(navigation.login.uri,function(req,res){
if(req.session.loggedin)
{
res.redirect('/home');
}
else
{
res.render('login',{
title: navigation.login.title,navigation: navigation
});
}
});
当我尝试使用时:
req.session.loggedIn
该值未定义.这可能是存储问题,还是我错误地访问了它?