javascript - express如何使用session?
phpcn_u1582
phpcn_u1582 2017-05-16 13:36:03
0
1
519

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

        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验证的编写,基本参考以下的内容:
/a/11...
http://www.cnblogs.com/chying...
http://wiki.jikexueyuan.com/p...
express-session官方文档

phpcn_u1582
phpcn_u1582

全部回复(1)
刘奇

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板