楼主开发经验不长时间,最近有个小项目上线测试,使用PM2集群模式启动项目(之前本机测试一直单机测试,没用PM2),发现用户登录输入了正确的用户名密码之后,还反复跳转登录页面,通过网络查询得知:因为session在集群模式下没有共享才导致这个问题的发生…正好微信公众号的token是用redis缓存的,发现网上有篇文章 <nodejs+express+express-session+redis 实现登陆验证>,内容如下: redis.js:
app.js:
第一次登陆:
需要登陆验证的路由:
麻烦大家帮忙看看,这么配置就可以解决session在集群模式下的正常访问么?根据上面的教程,在使用redis之后,session的使用还是和之前一样用req.session,和我之前想的不一样,之前我以为得自己向redis里写入东西呢!比如 set sessionID XXXX set USER XXXX,在获取的时候 if(get sessionID XXXX==YYY),是因为引入了 const session = require(‘express-session’)这个包,才达到教程里的效果么?
麻烦帮忙看看
为啥不用用jsonwebtoken
来自酷炫的 CNodeMD
结贴:弄明白了,原因是引入了connect-redis这个模块,由他来连接redis进而管理session,就达到了还是使用req.session的方式读取redis里的session