请稍等 ...
×

采纳答案成功!

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

关于 userid 不唯一的疑问?

第一次输入以下url并刷新
http://localhost:8000/api/user/login?username=zhangsan&password=123
得到的userid是: ‘1558070331268_0.06516380146014278’

马上输入以下url并重新刷新
http://localhost:8000/api/user/login?username=lisi&password=123
得到的userid也是: ‘1558070331268_0.06516380146014278’

userid不应该是唯一的吗?
这个有什么好的方法能让userid唯一呢?

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

2回答

Lucklywei 2019-06-09 19:11:48

每次都设置userid

0 回复 有任何疑惑可以回复我~
双越 2019-05-17 17:12:51

userid 不唯一,那就说明第二次访问的时候,代码没有获取到 cookie 里面的 userid ,又重新创建了一个。

解决方法就是每次新生成 userid 的时候,判断一下目前的 cookie 中是否已经存在 userid ,存在则用现成的,不存在则新建。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕运维2471188 #1
    是的,我的想法是使用redis的get方法把username 拿出来去和当前登录时req.query拿到的username作比较,如果不同就生成一个新的userid,重新set到redis中。
    但是我现在卡在:如何将promise的返回值,拿到其外部使用,我想过结合用callback函数将get方法的username取出,但是没有很好的思路去精准的设置这个callback
    请老师指点一些思路
    回复 有任何疑惑可以回复我~ 2019-05-17 18:10:06
  • 双越 回复 提问者 慕运维2471188 #2
    不行,登录信息不能依赖于 req.query 的内容,这样不安全,建议都通过 cookie 来着手。
    回复 有任何疑惑可以回复我~ 2019-05-17 18:55:07
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信