无法访问s req.session variable
。我将req.session.username
设置为someVariable
,但我知道了
未定义。以下Express设置是否允许我访问每个路径中的req.session变量?
app = express.createServer(
express.logger(),
express.cookieParser(),
express.session({ secret: 'keyboard cat' })
)
Express网站似乎以这种方式使用。
编辑:
以下是我使用的其他一些代码:
if(result[0] != undefined && result[0].Password == req.body.user.pass){
console.log("login successfull");
//Setting in the cookies some variable useful later
req.session.userAuthenticated = true;
req.session.username = result[0].Username;
req.session.projects = result[0].Projects;
这是/login
路线的一部分。在这部分中,我检查用户是否正确输入了密码以及是否已注册。如果我执行console.log(req.session.username)
,我会获得用户登录的正确用户名。
在另一个路线中,将其称为/wathever
我在像这样的
if(projects[i].name == projectName && projects[i].username == req.session.username){
projectName
是我从用户那里收到的POST
,它有效,但内容正确,但如果我选中req.session.username
则会收到undefined
。看来会话变量不包含我在上一个路径中放入的内容......
由于
答案 0 :(得分:1)
确保result[0].Username
&& result[0].Projects
未定义。
此外,您的代码中还有其他问题,请勿检查req.body.user
和req.body.user.pass
是否未定义。例如,我可以使用params" test = ok"向您的网站发布帖子请求,因此如果没有这些vars,它会显示一个内部错误页面。