問題比較多一條一條的說,因為關係比較密切所以算是一個問題,屬於一個大問題,沒什麼毛病。
專案描述:
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官方文件
cookie-parser的
signedCookie
可以做簽名驗證,express-session託管了session的建立和儲存。