我现在有个问题:当用户登陆之后换一个浏览器再次登陆也能登录成功;我需要修改为第二次登录之后让第一次登录的强迫下线,于是我想到将 session 替换或者清除;可是我不知道 sails 中的 session 是在哪里工作的。各位 v 友帮忙看一下这个问题。在此感谢!
1
scarletmu 2018-02-05 14:00:21 +08:00 1
前一家厂干过这个事儿,sails 用的是 express 那套 session 模式,拿着 sessionID 去 store 里 destroy 掉之前的就可以,不过一下子忘了 sails 里怎么玩的...具体代码只有家里有备份了下班去看看
|
2
mdluo 2018-02-05 14:18:04 +08:00 1
https://sailsjs.com/documentation/reference/configuration/sails-config-session
> If left unspecified, Sails will use the default memory store bundled in the underlying session middleware. In production, you should specify the package name of a scalable session store instead (e.g. connect-redis). See below for details. 可见是跟你的配置有关系的,如果不配置默认是直接存内存里: https://github.com/balderdashy/sails/blob/master/lib/hooks/session/index.js#L279 这里用到了 express-session,然后最终其实是存在了一个对象里: https://github.com/expressjs/session/blob/master/session/memory.js#L42 推荐生产环境用 redis 来存,或者其实更好的方案是 cookie + jwt,当然这个文档里没提 |