express如何使用session?

问题比较多一条一条的说,因为关系比较密切所以算是一个问题,属于一个大问题,没什么毛病。
项目描述:
图片描述

        1.express项目,直接命令行初始化项目结构。
        2.目录结构如上图:
        3.网站功能:用户注册登录,session验证用户身份。
        4.verify.js写的用户验证逻辑。

问题1:每次的请求为什么都会改变sessionID的值?所以根本没法给req.session添加自己的自定义值,我看了网上说用redis来存储就可以了,然后用redis来做存储。但是又出现了问题,verify.js里面又无法获使用req.session.regenerate(),错误提示是:没有regenerate这个property。怎么用了个redis,把一个人家本来就自带方法搞没了?
问题2:我又在网上查了一下,说是因为app.js里面var session = require('express-session');的这个session,和verify.js里面var session = require('express-session');,因为require两次,导致实际上两个文件中的req.session不是同一个对象。这我就搞不清了,明明是操作的同一个req.session为什么会不同,试了网上别人回答的const session = require('express-session');,还是没有解决。

这两天快被这个session搞的晕死了,前端小白求大神解答啊,提前谢谢了!

背景补充:

      1.用户的登录验证完全没有问题。
      2.app.js里面的session初始化已经放在了路由之前。

session验证的编写,基本参考以下的内容:
https://segmentfault.com/a/11...
http://www.cnblogs.com/chying...
http://wiki.jikexueyuan.com/p...
express-session官方文档

阅读 3.8k
2 个回答

cookie-parser的signedCookie可以做签名验证,express-session托管了session的创建和存储。

我想问下你的session解决了吗?能给我说说吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏