javascript - 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验证的编写,基本参考以下的内容:/a/11...http://www.cnblogs.com/chying...http://wiki.jikexueyuan.com/p...express-session官方文档
问题解答
回答1:cookie-parser的signedCookie可以做签名验证,express-session托管了session的创建和存储。
相关文章:
1. sql语句 - 如何在mysql中批量添加用户?2. php - 数据库表如果是null怎么替换为其他字段的值3. SQLAlchemy 访问Mysql数据库弹出Warning,VARIABLE_VALUE,如何解决?4. mysql建表报错,查手册看不懂,求解?5. mysql - JAVA怎么实现一个DAO同时实现查询两个实体类的结果集6. shell - Update query wrong in MySQL7. 怎么php怎么通过数组显示sql查询结果呢,查询结果有多条,如图。8. mysql - 数据库建字段,默认值空和empty string有什么区别 1109. mysql - SQL语句可以提供“查询表,并至第100条结果为止”吗?10. javascript - mysql插入数据时怎样避免与库中的数据重复?
