请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

SESSION

假如使用redis存储session。我在客户端的一台电脑浏览器访问api/users/login,登录,这时创建了一个userId保存在cookie中,并在session中保存了用户信息。我在客户端的另外一台电脑打开浏览器访问api/users/login,登录。请问:cookie会保存吗?它还是原来的cookie吗,会因客户机不同而不同吗?如果cookie不能保存,且cookie中的userId和session中的个人信息是对应的而我们我们要从cookie中获取userId;没有userId就返回一个随机数作为userId,这样不就找不到第一台客户机里登录的session的个人信息了吗?这样,即便是多线程,最终session不还是找不到了吗?
可能概念理解上我犯了些错误。望指点。

正在回答 回答被采纳积分+3

1回答

双越 2020-09-07 08:31:10

cookie 是存储在客户端的,所以不同的浏览器登录,就会在浏览器产生各自的 cookie 。但登录的是同一个用户的话,那 userId 肯定是一样的。

session 是存储在服务端的,找不到第一个,可以再继续创建一个,总之登录是能成功的。

0 回复 有任何疑惑可以回复我~
  • 提问者 ARUKANA #1
    如果我们在另一台电脑打开login页面是没有登录的,尝试登录。执行app.js,由于是第一次,里边解析cookie后,里面没有cookie.userId的吧。这样就会给它赋值一个时间加随机数,怎么会一样呢?我不太理解
    回复 有任何疑惑可以回复我~ 2020-09-07 08:56:43
  • 双越 回复 提问者 ARUKANA #2
    哦。。。我说错了,cookie 里这个随机数肯定是不一样的。我刚才想表达的意思是:这俩浏览器对应到 server 端是同一个用户。
    回复 有任何疑惑可以回复我~ 2020-09-07 10:26:17
  • 提问者 ARUKANA 回复 双越 #3
    可是userId不一样,得到的session也不一样,每一次都要另外付给它session.username session.realname 以后在另外一台机器登陆时,还会创建一个新的userId,一个新的session,对应同一个userData.这样会有很多对应同一个user的session.这不会出问题吗
    回复 有任何疑惑可以回复我~ 2020-09-07 10:35:48
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信