我使用express.js cookie-session来存储我记录的用户会话。 每次我登录新用户时,我都会将userId放在当前会话中,并将此userId分配给我在我的数据库上为他创建的user._id:
req.session.userId = user._id;
最终,当新用户提交我的登录表单时,将向我/用户的包含我的用户数据的restful服务发送get请求,如果该数据(标识符)不存储在我的数据库中,则新用户将在我的数据库上注册,将为他创建一个新的会话cookie。
req.session.userId = user._id;
res.status(200).send({'userId': user._id});
我在chrome,firefox和IE11上测试了上述功能
当使用chrome / firefox时,登录后的响应代码为200,并且UI正在欢迎提交的用户。
然而,当使用IE11时,第一个提交的用户将受到UI的欢迎,但当提交另一个用户时,他不会受到欢迎,显然IE11缓存了第一个登录的会话cookie(响应代码304),除非打开一个标志在开发者控制台中always refresh from server
,但这不是浏览器的默认选项。